X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fquick_tests%2FREADME.txt;h=3b32b43395dbf5ea61493f4cf57a4e3408b1d589;hp=7fc7d57c462c19ca781dfddae4e2173bc7e0b079;hb=e0b53924703fe414a99dbf49682cf8459540a3e5;hpb=559fc3d004f76e506ecb5e7efe56fdb5cceed943 diff --git a/direct/timothy_tests/quick_tests/README.txt b/direct/timothy_tests/quick_tests/README.txt index 7fc7d57..3b32b43 100644 --- a/direct/timothy_tests/quick_tests/README.txt +++ b/direct/timothy_tests/quick_tests/README.txt @@ -2,46 +2,68 @@ Made by Timothy Manning on 04/11/2010 -the yaffs_open function has been covered by tests -the yaffs_close function has been covered by tests - -tests made +Tests made test_yaffs_mount test_yaffs_mount_ENODEV test_yaffs_mount_ENAMETOOLONG + test_yaffs_mount_ENOENT + test_yaffs_mount_EBUSY //called when trying to mount a new mount point with a mount point already mounted. + test_yaffs_access + test_yaffs_access_ENIVAL //when the mode is incorrect. + test_yaffs_access_ENOTDIR + test_yaffs_access_ENOENT + test_yaffs_close_EBADF + test_yaffs_ftruncate + test_yaffs_ftruncate_EBADF + test_yaffs_ftruncate_ENIVAL + test_yaffs_lseek + test_yaffs_open test_yaffs_open_EEXIST test_yaffs_open_EISDIR test_yaffs_open_ENAMETOOLONG test_yaffs_open_ENOENT test_yaffs_open_ENOTDIR + test_yaffs_open_EINVAL + test_yaffs_open_EINVAL2 //the function open has to modes which can be set, so two modes are needed. + test_yaffs_read test_yaffs_stat + test_yaffs_truncate + test_yaffs_truncate_ENOTDIR + test_yaffs_truncate_EISDIR + test_yaffs_truncate_ENOENT + test_yaffs_truncate_ENIVAL + test_yaffs_truncate_EFBIG + test_yaffs_unlink test_yaffs_unlink_EISDIR test_yaffs_unlink_ENAMETOOLONG test_yaffs_unlink_ENOENT test_yaffs_unlink_ENOTDIR + test_yaffs_unlink_ENOENT + test_yaffs_unmount test_yaffs_write + add a test where a directory is moved. /fluffy/box. move "fluffy" to "/fluffy/frog". -tests to add +Tests to add test_yaffs_mount_EACCES //Cannot be generated with yaffs. test_yaffs_mount_EINVAL //Cannot be generated with yaffs. test_yaffs_mount_ELOOP //Cannot be generated with yaffs. test_yaffs_mount_EMFILE //Cannot be generated with yaffs. - - test_yaffs_mount_ENOENT test_yaffs_mount_ENOTDIR //Cannot be generated with yaffs. - test_yaffs_mount_EBUSY //called when trying to mount a new mount point with a mount point already mounted. - test_yaffs_unmount ->all error + test_yaffs_umount_ENODEV + test_yaffs_umount_ENAMETOOLONG + test_yaffs_umount_ENOENT + test_yaffs_umount_EBUSY test_yaffs_open_EACCES test_yaffs_open_ENOSPC @@ -52,34 +74,25 @@ tests to add test_yaffs_unlink_EACCES test_yaffs_unlink_ELOOP - test_yaffs_unlink_ENOENT test_yaffs_unlink_ENOMEM test_yaffs_access_EACCESS test_yaffs_access_ELOOP test_yaffs_access_ENAMETOOLONG - test_yaffs_access_ENOENT - test_yaffs_access_ENOTDIR - test_yaffs_access_ENIVAL //mode is incorrect. + test_yaffs_access_ENOENT_generated_with_a_dangling_symbloic_link test_yaffs_ftruncate_EACCES test_yaffs_ftruncate_EFBIG - test_yaffs_ftruncate_ENIVAL test_yaffs_ftruncate_EISDIR test_yaffs_ftruncate_ELOOP test_yaffs_ftruncate_ENOENT test_yaffs_ftruncate_ENOTDIR - test_yaffs_ftruncate_EPERM test_yaffs_truncate_EACCES - test_yaffs_truncate_EFBIG - test_yaffs_truncate_ENIVAL - test_yaffs_truncate_EISDIR test_yaffs_truncate_ELOOP test_yaffs_truncate_ENAMETOOLONG - test_yaffs_truncate_ENOENT - test_yaffs_truncate_ENOTDIR - test_yaffs_truncate_EPERM + add a truncate function for truncating a file size to -1. + check to see if an error code is generated when there isn't an error. @@ -92,49 +105,48 @@ How to add a test Test_yaffs_[function of yaffs which is been tested]_[error trying to be generated] The .c file needs to contain two functions. - The first function needs to contain the code for the main test and will return -1 on a failure and 0 or greater on a success. - The second function needs contain the code for cleaning up after the test. Cleaning up may include closing some open handles, recreating a file, ect. + The first function needs to contain the code for the main test and will + return -1 on a failure and 0 or greater on a success. + The second function needs contain the code for cleaning up after the test. + Cleaning up may include closing some open handles, recreating a file, ect. This second function needs to return -1 on a failure and 0 or greater on success. - The name of first function needs to be called the same as the file name (without the .c or .h) - The second function's name needs be the same as the first function but with "_clean" added on the end. + The name of first function needs to be called the same as the file + name (without the .c or .h) + The second function's name needs be the same as the first function but + with "_clean" added on the end. - So if a test is been created for the yaffs function yaffs_fish() then create these files - Test_yaffs_fish.c - Contains int test_yaffs_fish(void); int test_yaffs_fish_clean(void); - Test_yaffs_fish.h + So if a test is been created for the yaffs function yaffs_foo() then + create these files + test_yaffs_foo.c + Contains int test_yaffs_foo(void); int test_yaffs_foo_clean(void); + test_yaffs_foo.h Which includes "lib.h", "yaffsfs.h" header files. Next write the test code in these files then add these files to the Makefile. - Add the name of the test files' object file (test_yaffs_fish.o ) to the TESTFILES tag around line 50 of the Makefile. - - + Add the name of the test files' object file (test_yaffs_foo.o ) to the + TESTFILES tag around line 50 of the Makefile. Now add the test functions to the test_list[] array in quick_tests.h - The order of the tests matters. The idea is to test each yaffs_function individualy and only using tested yaffs_components before using this new yaffs_function. - This array consists of: {[test function], [the clean function], [name of the tests which will be printed when the test fails]}, + The order of the tests matters. The idea is to test each yaffs_function + individualy and only using tested yaffs_components before using this new + yaffs_function. + This array consists of: + {[test function], [the clean function], [name of the tests which will be printed when the test fails]}, - So add this line to the test_list[]: {test_yaffs_fish, test_yaffs_fish_clean, "test_yaffs_fish"}, + So add this line to the test_list[]: {test_yaffs_foo, test_yaffs_foo_clean, "test_yaffs_foo"}, - Also include the test's .h file in the quick_test.h file: #include "test_yaffs_fish.h" + Also include the test's .h file in the quick_test.h file: #include "test_yaffs_foo.h" The test file should now make and run(you may need to make clean first). - PS: yaffs_fish() is a made up function for this README (in case you want to try and find this function in yaffs). + PS: yaffs_foo() is a made up function for this README (in case you want + to find this function in yaffs). -BUGS AND WARNINGS - remove the printf which prints yaffs_mounting. - bug with opening a file with a name of 1,000,000 char long with no errors. - bug with unlinking a file with 1,000,000 get the error ENOENT but should be geting ENAMETOOLONG. - - WARNING- If yaffs is unmounted then most functions return ENODIR. - - FIXED-ENOSPC error in programs test_yaffs_open_ENOTDIR and test_yaffs_open_ENOENT. - FIXED-ENOENT been returned by yaffs_read but the handle is good and the yaffs_open function does not return an error.