X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;f=direct%2Fdtest.c;h=a93e1d05071a135a036591468720730368b7442e;hb=7b3c9931a89de673165a3a4238b064f6ad5f22b4;hp=cf537f782986dcd8aaa44f3c3a9e60b2453ab1af;hpb=bb3cf32fc964e7ac08efd1b0acdfd64e2cd5b7d3;p=yaffs2.git diff --git a/direct/dtest.c b/direct/dtest.c index cf537f7..a93e1d0 100644 --- a/direct/dtest.c +++ b/direct/dtest.c @@ -1,7 +1,7 @@ /* * YAFFS: Yet another FFS. A NAND-flash specific file system. * - * Copyright (C) 2002 Aleph One Ltd. + * Copyright (C) 2002-2010 Aleph One Ltd. * for Toby Churchill Ltd and Brightstar Engineering * * Created by Charles Manning @@ -1036,6 +1036,36 @@ int resize_stress_test(const char *path) } + +int overwrite_test(const char *path) +{ + char aname[100]; + char bname[100]; + int i; + int j; + int a; + int b; + yaffs_StartUp(); + + yaffs_mount(path); + + sprintf(aname,"%s%s",path,"/a"); + sprintf(bname,"%s%s",path,"/b"); + + b = yaffs_open(bname, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); + for(j= 0; j < 500; j++){ + yaffs_write(b,bname,100); + a = yaffs_open(aname, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); + for(i = 0; i < rand() % 20000; i++) + yaffs_write(a,&a,sizeof(a)); + yaffs_close(a); + } + + return 0; + +} + + int root_perm_remount(const char *path) { struct yaffs_stat s; @@ -2480,7 +2510,8 @@ int main(int argc, char *argv[]) //rename_over_test("//////////////////flash///////////////////yaffs1///////////"); //fill_empty_files_test("/yaffs2/"); - resize_stress_test("/yaffs2"); + //resize_stress_test("/yaffs2"); + overwrite_test("/yaffs2"); //long_name_test("/yaffs2"); //link_test0("/yaffs2");