52 lines
1.8 KiB
TOML
52 lines
1.8 KiB
TOML
# Test internal operations of metadata-pairs
|
|
|
|
[[case]]
|
|
in = "lfs.c"
|
|
code = '''
|
|
lfs_init(&lfs, &cfg) => 0;
|
|
lfs_mdir__t mdir = {
|
|
.pair = {0, 1},
|
|
.rev = 0,
|
|
.roff = 0,
|
|
.eoff = 0,
|
|
.count = 0,
|
|
.split = false,
|
|
.eperturb = false,
|
|
.tail = {0xffffffff, 0xffffffff},
|
|
};
|
|
|
|
|
|
struct lfs_mattr_ attrs[] = {
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 0, 0), "0000", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 1, 0), "0001", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 2, 0), "0002", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 3, 0), "0003", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 4, 0), "0004", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 5, 0), "0005", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 6, 0), "0006", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 7, 0), "0007", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 8, 0), "0008", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 9, 0), "0009", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 10, 0), "0010", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 11, 0), "0011", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 12, 0), "0012", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 13, 0), "0013", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 14, 0), "0014", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 15, 0), "0015", 4},
|
|
{LFS_MKTAG_(LFS_T_USERATTR, 16, 0), "0016", 4}
|
|
};
|
|
lfs_size_t attr_count = sizeof(attrs)/sizeof(attrs[0]);
|
|
|
|
lfs_dir_compact_(&lfs, &mdir, attrs, attr_count) => 0;
|
|
|
|
for (lfs_size_t i = 0; i < attr_count; i++) {
|
|
printf("looking up %08x\n", attrs[i].tag);
|
|
lfs_size_t nsize;
|
|
lfs_dir_getattr_(&lfs, &mdir,
|
|
attrs[i].tag,
|
|
buffer, sizeof(buffer), &nsize) => attrs[i].tag;
|
|
assert(nsize == attrs[i].size);
|
|
assert(memcmp(buffer, attrs[i].buffer, attrs[i].size) == 0);
|
|
}
|
|
'''
|