X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=blobdiff_plain;f=direct%2Ftimothy_tests%2Fquick_tests%2FREADME.txt;h=cc5b036a7096942a3d27ba622a3db03532e01283;hp=fd8c377be206cdc90d58351ef3a71ce7d4ae2eb5;hb=f2c8e9cf2b72e5ac6a776a1a1b188f8595e7c35c;hpb=6e5c5ad804040f381bb4587970a13e3085c72ca1 diff --git a/direct/timothy_tests/quick_tests/README.txt b/direct/timothy_tests/quick_tests/README.txt index fd8c377..cc5b036 100644 --- a/direct/timothy_tests/quick_tests/README.txt +++ b/direct/timothy_tests/quick_tests/README.txt @@ -2,81 +2,110 @@ 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_ftruncate_EFBIG + test_yaffs_lseek + test_yaffs_lseek_EBADF + test_yaffs_lseek_EINVAL + test_yaffs_lseek_EFBIG + 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 two modes which can be set, so two tests modes are needed. + test_yaffs_read + test_yaffs_read_EBADF + 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_ENAMETOOLONG - test_yaffs_mount_ENOENT test_yaffs_mount_ENOTDIR //Cannot be generated with yaffs. + test_yaffs_umount_ENODEV + test_yaffs_umount_ENAMETOOLONG + test_yaffs_umount_ENOENT + test_yaffs_umount_EBUSY + test_yaffs_open_EACCES test_yaffs_open_ENOSPC test_yaffs_open_ELOOP //Too many symbolic links were encountered in resolving pathname test yaffs_open_running_out_of_handles error - test_yaffs_close //This function has already been called by the time this test is reached. + test_yaffs_close //This function has already been called by the time this test is reached. + + + test_yaffs_read_EINVAL //test exists but is not finshed yet. + test_yaffs_read_EISDIR //Cannot be generated with yaffs. + test what happens if you read off the end of the file? 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_ftruncate_EACCES + test_yaffs_ftruncate_EISDIR //Cannot be generated with yaffs. + test_yaffs_ftruncate_ELOOP //Cannot be generated with yaffs. + test_yaffs_ftruncate_ENOENT //Cannot be generated with yaffs. + test_yaffs_ftruncate_ENOTDIR //Cannot be generated with yaffs. 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. + What happens if a handle is opened to a file and the file is then deleted? + Check to see if yaffs generates an error code for no reason. + What happens when a file is opened with no modes set? How to add a test @@ -87,49 +116,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"}, - - Also include the test's .h file in the quick_test.h file: #include "test_yaffs_fish.h" + So add this line to the test_list[]: {test_yaffs_foo, test_yaffs_foo_clean, "test_yaffs_foo"}, - The test file should now make and run. - - + 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 - 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. - - 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.