History: fs_fat_test
This page describes all changes made to the fs_fat_test package, FAT File System Test Suite, since its release.
Version
2.39 (2020-11-27, 08:00):
- Tests were implemented to check read-only mode after an unrecoverable error.
2.38 (2020-10-12, 09:11):
- Added test for new API function f_get_volume_state().
- Fixed f_test_safe(); it could detect a false positive error.
- Compiler warnings were eliminated.
2.37 (2020-09-15, 08:10):
- Adapted Tests to take into account seek offset (USE_LONG_LONG_OFFSET macro).
- Fixed percent printing in safe test.
- f_ftruncate() is tested with 4 GiB file.
2.36 (2020-08-07, 12:15):
- f_test_safe_setlabel() was fixed: it checks directory size for FAT32 only. Earlier it detected false positive error for FAT12/FAT16.
- Use of checkdisk can be enabled in safe tests.
2.35 (2020-08-03, 10:46):
- Implemented test which creates 4 GiB file and checks if overwrite is possible.
- Fixed test of f_stat(): it caused segmentation fault on Linux.
2.34 (2020-07-22, 10:56):
- Implemented test function was for f_stat(). This checks whether statistics of root directory can be retrieved.
2.33 (2020-07-14, 17:00):
- Warnings removed.
- Compilation error removed if:
- TEST_SAFE was disabled.
- FAT_TEST_SAFE_FILE_OVERWRITE was disabled and TEST_SAFE was set.
- TEST_SAFE was enabled and TEST_WRITE_FULL was disabled.
- TEST_VOLUME_CLEAN and FAT_FMW_ENABLE were enabled.
- TEST_VOLUME was introduced in configuration to prevent compiler error if USE_MALLOC is enabled.
2.32 (2020-07-06, 11:27):
- Implemented test to check if f_repair() returns error if no repair is needed (F_SAFE_AUTO_REPAIR=0).
2.31 (2020-06-23, 11:45):
- Implemented Safe tests for f_write(), f_flush(), f_close(), f_repair(), f_delete(), f_delete_content(), f_mkdir(), f_rmdir(), f_rename(), f_move(), f_truncate(), f_seteof(), f_setlabel(), f_settimestamp(), f_setattr().
2.30 (2020-05-27, 14:34):
- Implemented test cases which write media full and test f_gettimedate() and f_settimedate().
- Long file name test was extended: long file names are renamed and moved.
- Creation of long file names are tested when media is full.
- Bad block test was fixed: it could not inject errors earlier.
- Bad block test can test error of FAT writing (occurrs when FATCACHE_ENABLE=0).
- Disk usage test did not report false positive error when cluster size is 512 bytes and FAT32 is used.
2.29 (2020-05-13, 09:28):
- Bugfix: test reported false positive error when F_SAFE_AUTO_REPAIR was 0.
- Compiler warnings eliminated.
2.28 (2020-04-21, 13:48):
- FMW (File Multiple Write) test is called from f_dotest() if enabled.
- F_SEEK_NOWRITE test was added for f_seek().
2.27 (2020-04-07, 15:53):
- Compiler warnings eliminated.
- Configuration option IS_SNPRINTF_AVAILABLE added to select psp_snprintf() or psp_sprintf() functions.
2.26 (2020-02-20, 10:53):
- Eliminated C166 compiler errors.
- Eliminated compiler warnings.
- Disk usage function uses two 32 bit variables instead of one 64 bit variable.
2.25 (2020-02-20, 09:21):
- Added test of f_volume_clean().
2.24 (2020-01-24, 12:44):
- Compiler warnings eliminated.
- Changed TEST_PARTITIONS configuration option default to 0.
2.23 (2019-11-28, 15:04):
- Eliminated compiler warnings.
2.22 (2019-08-28, 14:25):
- Bad block test fixed. Prerequisites are to disable SAFEFAT and enable NONSAFEFAT and BAD_BLOCK_HANDLING.
- Partition test fixed. Can be enabled by setting TEST_PARTITIONS to 1.
2.21 (2019-06-25, 18:49):
- Added test for flushing encrypted data smaller than a sector.
2.20 (2019-04-05, 17:08):
- Added boundary tests for reading encrypted data.
2.19 (2019-02-12, 11:57):
- Implemented new test case against an error that appeared when F_LONGFILENAME, HCC_UNICODE and F_SHIFT_JIS_SUPPORT are enabled: if a short filename is created "12345678.123", it should not be possible to open it with name "12345678.123XY".
- Uses F_MAXPATHNAME consistently instead of FN_MAXPATHNAME.
- Compiler warnings eliminated.
2.18 (2018-09-25, 8:30):
- Applied changes required by fs_fat v8.41.
- Added unit test to _towchar().
- Passing error codes to _f_result() in case of unsuccessful file opening.
2.17r2 (2018-08-29, 18:09):
- Document HTML link added to the documentation folder.
- History and document files renamed to the package name.
2.17 (2018-07-18, 10:40):
- f_regression() was renamed to f_longfilenames_safe().
2.16 (2018-07-16, 15:21):
- Introduced new fat_testport() function: _f_is_safefat() to be able to identify if a volume is mounted in safe/non-safe mode.
2.15 (2018-07-16, 11:26):
- Implemented regression tests: f_move() and f_rename() could fail if long filenames, directory cache, and SafeFAT were used at the same time.
2.14 (2018-05-10, 12:27):
- implemented tests of fm_disk_usage() and fm_get_cluster_size().
2.13 (2017-11-30, 10:41):
- test of long filename creates maximum possible file length.
- fat_testport.c uses defines of psp_stdio.h.
2.12r2 (2017-10-12, 12:08):
- dependency on fs_fat removed.
2.12 (2017-10-09, 09:37):
- compiler warnings were eliminated.
2.11:
- supports 64-bit environments.
2.10:
- new test cases added for testing file encryption.
2.9:
- psp_types.h is included instead of stdint.h.
- compiler warnings were eliminated.
2.8:
- New test cases added to f_reopening() for testing "r+" and "r" mode concurrent access.
2.7:
- New test cases added for testing improved wildcard support in fs_fat v8.17.
2.6:
- Warnings eliminated.
2.5:
- New test cases added to f_dotest() to verify changed handling of "a", "a+", "w", "w+" files and concurrent access with "r" files.
2.4:
- psp_stdio introduced: psp_sprintf() is used instead of sprintf().
2.3:
- New test cases added to f_renaming().
2.2:
- Conditional compilation fixed.
- f_seteofing() test added.
2.1:
- f_dotest() takes the current volume id as argument, _f_get_own_volume() removed.
1.21:
- works with FAT major version 8.
1.20:
- Port functions moved to PSP.
1.19:
- Using simple printf format syntax to prevent false errors of test in lightweight printf implementations.
1.18:
- Compiler warnings were eliminated.
1.17:
- new test cases in f_opening() verify if FAT works properly with F_MAXFILES set to 1.
1.16:
- test cases added for F_SHIFT_JIS_SUPPORT and f_rename(), works with FAT v7.x.
1.15:
- f_dotest() passes if MAX_BUFFERSIZE < 8192.
1.14:
- preprocessor constants sanitized.
1.13:
- works with FAT v6.0.
1.12:
- fat_test.h doesn't include fat/common.h any more.
1.11:
- works with FAT v5.0.
1.10:
- test added for f_fstat().
1.9:
- tests added for F_VOLNAME_SUPPORT.
1.8:
- long_dirnames() test is not recursive anymore, stack usage of f_dotest() dropped to around 2KB with short file names and 8LB with long filenames enabled.
1.7:
- long_dirnames() test fixed. It issued a false failure message for the last test iteration when the length of the path crossed the limit.
1.6:
- fat_tesport.h included test_f.h instead of fat_test.h.
1.5:
- added FN_SEEK_NOWRITE option.
1.4:
- some debug messages removed.
- f_formatting() fixed to handle F_ERR_NOTFOUND the same way as F_ERR_NOTFORMATTED after the first f_poweron() call. This was needed because this error code is returned if the media has a non-safe FAT on it when mounted. This is OK first time.
1.3:
- f_seekpos() was overwriting memory if MAX_BUFFERSIZE was less then 32768. Now the end of the test is skipped if MAX_BUFFERSIZE is less than 32 KB.
1.2:
- test cleanup.
1.1:
- Initial version.