More rbyd tests, multi-commit now working

This commit is contained in:
Christopher Haster
2022-12-21 11:22:29 -06:00
parent ad00ca79e2
commit 9a0e3fc749
3 changed files with 143 additions and 21 deletions
+95 -6
View File
@@ -1,8 +1,9 @@
# Test this inner rbyd data-structure
[cases.rbyd_create]
[cases.rbyd_commit_fetch]
in = 'lfs.c'
defines.ERASE_VALUE = [0xff, 0x00, 0x1b, -1]
code = '''
lfs_t lfs;
lfs_init(&lfs, cfg) => 0;
@@ -17,12 +18,100 @@ code = '''
.erased = true,
};
//lfs_rbyd_commit(&lfs, &rbyd, NULL) => 0;
// try an empty commit
lfs_rbyd_t rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_, NULL) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
uint32_t data = 0xa5dfa5df;
lfs_rbyd_commit(&lfs, &rbyd,
LFS_MKRATTR(UATTR, 1, 0, &data, 4,
LFS_MKRATTR(UATTR, 2, 0, &data, 4,
// commit with one attribute
rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_,
LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4, NULL)) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// commit with two attributes
rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_,
LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4,
LFS_MKRATTR(UATTR, 2, 0, &(uint32_t){0xbbbbbbbb}, 4,
NULL))) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// // commit with three attributes
// rbyd_ = rbyd;
// lfs_bd_erase(&lfs, rbyd_.block) => 0;
// lfs_rbyd_commit(&lfs, &rbyd_,
// LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4,
// LFS_MKRATTR(UATTR, 2, 0, &(uint32_t){0xbbbbbbbb}, 4,
// LFS_MKRATTR(UATTR, 3, 0, &(uint32_t){0xcccccccc}, 4,
// NULL)))) => 0;
// lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// TODO more?
'''
[cases.rbyd_multi_commit_fetch]
in = 'lfs.c'
defines.ERASE_VALUE = [0xff, 0x00, 0x1b, -1]
code = '''
lfs_t lfs;
lfs_init(&lfs, cfg) => 0;
lfs_rbyd_t rbyd = {
.block = 0,
.trunk = 0,
.noff = 0,
.rev = 1,
.crc = 0,
.count = 0,
.erased = true,
};
// try an empty commit
lfs_rbyd_t rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_, NULL) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// commit with one attribute
rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_, NULL) => 0;
lfs_rbyd_commit(&lfs, &rbyd_,
LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4, NULL)) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// commit with two attributes
rbyd_ = rbyd;
lfs_bd_erase(&lfs, rbyd_.block) => 0;
lfs_rbyd_commit(&lfs, &rbyd_,
LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4, NULL)) => 0;
lfs_rbyd_commit(&lfs, &rbyd_,
LFS_MKRATTR(UATTR, 2, 0, &(uint32_t){0xbbbbbbbb}, 4, NULL)) => 0;
lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// // commit with three attributes
// rbyd_ = rbyd;
// lfs_bd_erase(&lfs, rbyd_.block) => 0;
// lfs_rbyd_commit(&lfs, &rbyd_,
// LFS_MKRATTR(UATTR, 1, 0, &(uint32_t){0xaaaaaaaa}, 4, NULL)) => 0;
// lfs_rbyd_commit(&lfs, &rbyd_,
// LFS_MKRATTR(UATTR, 2, 0, &(uint32_t){0xbbbbbbbb}, 4, NULL)) => 0;
// lfs_rbyd_commit(&lfs, &rbyd_,
// LFS_MKRATTR(UATTR, 3, 0, &(uint32_t){0xcccccccc}, 4, NULL)) => 0;
// lfs_rbyd_fetch(&lfs, &rbyd_, rbyd.block) => 0;
// TODO more?
'''
# [cases.rbyd_commit_lookup]
# [cases.rbyd_multi_commit_lookup]
# [cases.rbyd_commit_fetchmatch]
# [cases.rbyd_multi_commit_fetchmatch]
# [cases.rbyd_commit_traverse]
# [cases.rbyd_multi_commit_traverse]