Added high-level every-block error tests to test_ck

These are basically the same as our test_badblock tests, except we
accept LFS_ERR_CORRUPT. This lets us test more checking modes that may
not enable recovery (ckreads, ckfetches, etc).

Well, in theory, at least. The lack of rollback protection gets in the
way of both ckreads and ckfetches, so we're currently only testing
ckprogs, which isn't much of an improvement. At least this gets the
scaffolding in place...

This also inverts the test_ck -> test_badblocks dependency. Now that
these both have exhaustive tests, we might as well limit test_badblocks
to simple erroring erases/progs and let test_ck check the ck checks.
This commit is contained in:
Christopher Haster
2024-08-13 16:31:27 -05:00
parent e7a150ea36
commit 73015909a1
4 changed files with 2002 additions and 97 deletions
+4 -1
View File
@@ -191,7 +191,10 @@ int lfs_emubd_sync(const struct lfs_config *cfg);
/// Additional extended API for driving test features ///
// Set the current prng state
int lfs_emubd_seed(const struct lfs_config *cfg, uint32_t seed);
void lfs_emubd_seed(const struct lfs_config *cfg, uint32_t seed);
// Get a pseudo-random number from emubd's internal prng
uint32_t lfs_emubd_prng(const struct lfs_config *cfg);
// Get total amount of bytes read
lfs_emubd_sio_t lfs_emubd_readed(const struct lfs_config *cfg);