X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=3739acac2ae30b145a8a0f08133bd000ff1aeeff;hp=e57691903d369e416652e22db5a94ae122e32beb;hb=87166dff2586aa5d844c86945a80b098861b2b23;hpb=2369fadda0bee21c2ddb7a7596be7a5df578757e diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index e576919..3739aca 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -9,7 +9,6 @@ * 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. - * */ @@ -2977,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; @@ -3022,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); + } @@ -3093,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");