X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=e57691903d369e416652e22db5a94ae122e32beb;hp=4953830694c40290b699c8ef0244cb1cc9739bb6;hb=2369fadda0bee21c2ddb7a7596be7a5df578757e;hpb=4d8ae2ff95b889fd2ea14a7e33ec934e4386ee57 diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index 4953830..e576919 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -2796,6 +2796,58 @@ void max_files_test(const char *mountpt) h =yaffs_open(hn,O_RDWR,0); +} +void case_insensitive_test(const char *mountpt) +{ + char fn[100]; + char fn2[100]; + char buffer[100]; + int ret; + struct yaffs_stat s; + int h; + char *x; + + yaffs_trace_mask = 0; + + yaffs_start_up(); + + yaffs_mount(mountpt); + dump_directory_tree(mountpt); + + sprintf(fn,"%s/Abc.Txt",mountpt); + yaffs_unlink(fn); + h = yaffs_open(fn, O_CREAT | O_TRUNC | O_RDWR, S_IREAD | S_IWRITE); + + ret = yaffs_write(h,fn, strlen(fn) + 1); + + ret = yaffs_close(h); + + dump_directory_tree(mountpt); + + + strcpy(fn2, fn); + x = fn2; + while(*x) { + *x = toupper(*x); + x++; + } + + h = yaffs_open(fn2, O_RDONLY, 0); + ret = yaffs_read(h, buffer, 100); + + if (ret != strlen(fn) + 1 || memcmp(buffer, fn, ret)){ + printf("wrong file read\n"); + } else { + printf("File %s is the same as file %s\n", fn, fn2); + } + + ret = yaffs_stat(fn2, &s); + + printf("renaming\n"); + + ret = yaffs_rename(fn, fn2); + dump_directory_tree(mountpt); + } void start_twice(const char *mountpt) @@ -3047,6 +3099,7 @@ int main(int argc, char *argv[]) //large_file_test("/yaffs2"); //basic_utime_test("/yaffs2"); + //case_insensitive_test("/yaffs2"); return 0;