X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=direct%2Fbasic-test%2Fdtest.c;h=dbbefd3dbe2343d85a816aec45fb17148402cb35;hb=83d99930038ef56463b6551aff5aa4d8348ce240;hp=e57691903d369e416652e22db5a94ae122e32beb;hpb=2369fadda0bee21c2ddb7a7596be7a5df578757e;p=yaffs2.git diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index e576919..dbbefd3 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -9,12 +9,9 @@ * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. - * */ - - #include #include #include @@ -2977,8 +2974,11 @@ void verify_big_sparse_file(int h) void large_file_test(const char *mountpt) { + char xx_buffer[1000]; + int i; int handle; char fullname[100]; + loff_t file_end; yaffs_trace_mask = 0; @@ -3022,6 +3022,59 @@ void large_file_test(const char *mountpt) verify_big_sparse_file(handle); yaffs_unmount(mountpt); + /* Check resize by adding to the end, resizing back and verifying. */ + yaffs_mount_common(mountpt, 0, 1); + printf("checking resize\n"); + dumpDir(mountpt); + handle = yaffs_open(fullname, O_RDWR, 0); + + file_end = yaffs_lseek(handle, 0, SEEK_END); + printf("file_end %lld\n", file_end); + for(i = 0; i < 10000; i++) + yaffs_write(handle, xx_buffer, sizeof(xx_buffer)); + yaffs_ftruncate(handle, file_end); + + verify_big_sparse_file(handle); + yaffs_unmount(mountpt); + +} + + +void readdir_test(const char *mountpt) +{ + char xx_buffer[1000]; + int i; + int handle; + char fullname[100]; + + yaffs_DIR *dirs[100]; + + + yaffs_trace_mask = 0; + + yaffs_start_up(); + + yaffs_mount(mountpt); + + for(i = 0; i < 100; i++) { + dirs[i] = yaffs_opendir(mountpt); + printf("%2d %p,", i, dirs[i]); + } + + printf("\n"); + + for(i = 0; i < 100; i++) { + if(dirs[i]) + yaffs_closedir(dirs[i]); + } + + + for(i = 0; i < 100; i++) { + dirs[i] = yaffs_opendir(mountpt); + printf("%2d %p,", i, dirs[i]); + } + + } @@ -3093,10 +3146,11 @@ int main(int argc, char *argv[]) //basic_utime_test("/yaffs2"); //max_files_test("/yaffs2"); - - start_twice("/yaffs2"); + + //start_twice("/yaffs2"); //large_file_test("/yaffs2"); + readdir_test("/yaffs2"); //basic_utime_test("/yaffs2"); //case_insensitive_test("/yaffs2");