X-Git-Url: http://aleph1.co.uk/gitweb/?a=blobdiff_plain;f=direct%2Fbasic-test%2Fdtest.c;h=8fb9abd0a136ed555b277065284d9eadbb77c112;hb=75656a2607c8ab2e94595c7ea0a30f36848749a1;hp=35354232883e837e768f80378722f438731b3c65;hpb=79fcd0f8cc347e650e8ccdce12d7a350b8cc6008;p=yaffs2.git diff --git a/direct/basic-test/dtest.c b/direct/basic-test/dtest.c index 3535423..8fb9abd 100644 --- a/direct/basic-test/dtest.c +++ b/direct/basic-test/dtest.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "yaffsfs.h" @@ -2797,6 +2798,59 @@ void max_files_test(const char *mountpt) } +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) { printf("About to do first yaffs_start\n"); @@ -2877,9 +2931,11 @@ int main(int argc, char *argv[]) //basic_utime_test("/yaffs2"); //max_files_test("/yaffs2"); - - start_twice("/yaffs2"); + //start_twice("/yaffs2"); +#ifdef CONFIG_YAFFS_CASE_INSENSITIVE + case_insensitive_test("/yaffs2"); +#endif return 0;