X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;fp=direct%2Fbasic-test%2Fdtest.c;h=3739acac2ae30b145a8a0f08133bd000ff1aeeff;hp=d3c9ba549d6479948a907b1a299997d6949465d4;hb=87166dff2586aa5d844c86945a80b098861b2b23;hpb=eeb0f17a7a2280ec4f20b46ec40a4997f1b7d2e7 diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index d3c9ba5..3739aca 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -2976,8 +2976,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; @@ -3021,6 +3024,21 @@ 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); + } @@ -3092,10 +3110,10 @@ int main(int argc, char *argv[]) //basic_utime_test("/yaffs2"); //max_files_test("/yaffs2"); - - start_twice("/yaffs2"); - //large_file_test("/yaffs2"); + //start_twice("/yaffs2"); + + large_file_test("/yaffs2"); //basic_utime_test("/yaffs2"); //case_insensitive_test("/yaffs2");