X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftest-framework%2Fbasic-tests%2Fdtest.c;h=644c1e54ed21f55a8a5fd5a3be1b7ca8488d40f6;hp=a6a8c9d6c10c986d57ba8167f92b36ea68c7e2c5;hb=5521e3e34aa8ba4e9579b6d5ca2dd5e0a0946088;hpb=bc76682d93955cfb33051beb503ad9f8a5450578 diff --git a/direct/test-framework/basic-tests/dtest.c b/direct/test-framework/basic-tests/dtest.c index a6a8c9d..644c1e5 100644 --- a/direct/test-framework/basic-tests/dtest.c +++ b/direct/test-framework/basic-tests/dtest.c @@ -3074,7 +3074,7 @@ void large_file_test(const char *mountpt) yaffs_unmount(mountpt); - yaffs_mount_common(mountpt, 0, 1); + yaffs_mount3(mountpt, 0, 1); printf("mounted with no checkpt\n"); dumpDir(mountpt); handle = yaffs_open(fullname, O_RDONLY, 0); @@ -3082,7 +3082,7 @@ void large_file_test(const char *mountpt) yaffs_unmount(mountpt); /* Check resize by adding to the end, resizing back and verifying. */ - yaffs_mount_common(mountpt, 0, 1); + yaffs_mount3(mountpt, 0, 1); printf("checking resize\n"); dumpDir(mountpt); handle = yaffs_open(fullname, O_RDWR, 0); @@ -3300,6 +3300,40 @@ void dir_fd_test(const char *mountpt) } + + +void create_delete_many_files_test(const char *mountpt) +{ + + char fn[100]; + int i; + int fsize; + char buffer[1000]; + int h; + int wrote; + + + yaffs_start_up(); + yaffs_mount(mountpt); + + for(i = 1; i < 2000; i++) { + sprintf(fn,"%s/f%d",mountpt, i); + fsize = (i%10) * 10000 + 20000; + h = yaffs_open(fn, O_CREAT | O_TRUNC | O_RDWR, 0666); + while (fsize > 0) { + wrote = yaffs_write(h, buffer, sizeof(buffer)); + if (wrote != sizeof(buffer)) { + printf("Writing file %s, only wrote %d bytes\n", fn, wrote); + break; + } + fsize -= wrote; + } + yaffs_unlink(fn); + yaffs_close(h); + } + +} + int random_seed; int simulate_power_failure; @@ -3385,8 +3419,8 @@ int main(int argc, char *argv[]) //dir_fd_test("/nand"); - format_test("/nand"); - + //format_test("/nand"); + create_delete_many_files_test("/nand"); return 0; }