X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fdtest.c;h=a93e1d05071a135a036591468720730368b7442e;hp=8b32b7e9dacfbaedc7bc6b02fe200aff3bf0b0ac;hb=6db5aca55acb7c8af07c8ec90ba8dd9085ab0895;hpb=3ac134099c4585aec7c1a166ccc389711b0dfaab diff --git a/direct/dtest.c b/direct/dtest.c index 8b32b7e..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; @@ -2258,7 +2288,6 @@ void checkpoint_upgrade_test(const char *mountpt,int nmounts) printf("Create start condition\n"); yaffs_StartUp(); - SetCheckpointReservedBlocks(0); yaffs_mount(mountpt); yaffs_mkdir(a,0); sprintf(b,"%s/zz",a); @@ -2271,7 +2300,6 @@ void checkpoint_upgrade_test(const char *mountpt,int nmounts) printf("Umount/mount attempt full\n"); yaffs_unmount(mountpt); - SetCheckpointReservedBlocks(10); yaffs_mount(mountpt); printf("unlink small file\n"); @@ -2482,6 +2510,9 @@ int main(int argc, char *argv[]) //rename_over_test("//////////////////flash///////////////////yaffs1///////////"); //fill_empty_files_test("/yaffs2/"); + //resize_stress_test("/yaffs2"); + overwrite_test("/yaffs2"); + //long_name_test("/yaffs2"); //link_test0("/yaffs2"); //link_test1("yaffs2"); @@ -2498,7 +2529,7 @@ int main(int argc, char *argv[]) // huge_array_test("/flash/flash",10); - handle_test("yaffs2/"); + // handle_test("yaffs2/"); //long_test_on_path("/ram2k"); // long_test_on_path("/flash");