X-Git-Url: https://yaffs.net/gitweb/?a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=3739acac2ae30b145a8a0f08133bd000ff1aeeff;hb=95ff7ef3e08cf76d07b08cce3470d4840b27a8ea;hp=e57691903d369e416652e22db5a94ae122e32beb;hpb=2369fadda0bee21c2ddb7a7596be7a5df578757e;p=yaffs2.git 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");