Made by Timothy Manning <timothy@yaffs.net> on 04/11/2010
+the yaffs_open function has been covered by tests
+the yaffs_close function has been covered by tests
+
+tests made
+ test_yaffs_mount
+ test_yaffs_mount_ENODEV
+ test_yaffs_mount_ENAMETOOLONG
+ test_yaffs_access
+ test_yaffs_close_EBADF
+ test_yaffs_ftruncate
+ 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_read
+ test_yaffs_stat
+ test_yaffs_truncate
+ test_yaffs_unlink
+ test_yaffs_unlink_EISDIR
+ test_yaffs_unlink_ENAMETOOLONG
+ test_yaffs_unlink_ENOENT
+ test_yaffs_unlink_ENOTDIR
+ test_yaffs_unmount
+ test_yaffs_write
+
+
+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_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_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_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
+
+ check to see if an error code is generated when there isn't an error.
How to add a test
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"
-
- The test file should now make and run.
-
-
+ 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).
-BUGS
- Needing to include int random_seed; and int simulate_power_failure = 0; in any main program using yaffsfs.h
- ENOSPC error in programs test_yaffs_open_ENOTDIR and test_yaffs_open_ENOENT.
- ENOENT been returned by yaffs_read but the handle is good and the yaffs_open function does not return an error.
+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.