118 lines
3.4 KiB
TOML
118 lines
3.4 KiB
TOML
|
|
# Test this inner rbyd data-structure
|
|
|
|
[cases.rbyd_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_,
|
|
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]
|