Moved *_get functions into tests

With the introduction of lfsr_data_t, these stopped being useful
functions for littlefs internally.

Maybe these tests should be rewritten to use the *_lookup functions
directly? Unfortunately with the quantity of tests we have now this adds
non-trivial amount of work with questionable benefit.
This commit is contained in:
Christopher Haster
2023-08-15 02:28:17 -05:00
parent d09a3646aa
commit b710769dda
4 changed files with 44 additions and 43 deletions
-43
View File
@@ -2076,19 +2076,6 @@ static int lfsr_rbyd_lookup(lfs_t *lfs, const lfsr_rbyd_t *rbyd,
return 0; return 0;
} }
// TODO still need this?
// TODO move this into the tests?
static lfs_ssize_t lfsr_rbyd_get(lfs_t *lfs, const lfsr_rbyd_t *rbyd,
lfs_ssize_t rid, lfsr_tag_t tag, void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_rbyd_lookup(lfs, rbyd, rid, tag, NULL, &data);
if (err) {
return err;
}
return lfsr_data_read(lfs, &data, buffer, size);
}
// append a revision count // append a revision count
// //
@@ -3759,22 +3746,6 @@ static int lfsr_btree_lookup(lfs_t *lfs,
return 0; return 0;
} }
// TODO still need this?
// TODO move this into the tests?
static int lfsr_btree_get(lfs_t *lfs,
const lfsr_btree_t *btree, lfs_size_t bid,
lfsr_tag_t *tag_, lfs_size_t *weight_,
void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_btree_lookup(lfs, btree, bid,
tag_, weight_, &data);
if (err) {
return err;
}
return lfsr_data_read(lfs, &data, buffer, size);
}
// TODO should lfsr_btree_lookupnext/lfsr_btree_parent be deduplicated? // TODO should lfsr_btree_lookupnext/lfsr_btree_parent be deduplicated?
static int lfsr_btree_parent(lfs_t *lfs, static int lfsr_btree_parent(lfs_t *lfs,
const lfsr_btree_t *btree, lfs_size_t bid, const lfsr_rbyd_t *child, const lfsr_btree_t *btree, lfs_size_t bid, const lfsr_rbyd_t *child,
@@ -4888,26 +4859,12 @@ static int lfsr_mdir_fetch(lfs_t *lfs, lfsr_mdir_t *mdir,
return LFS_ERR_CORRUPT; return LFS_ERR_CORRUPT;
} }
static int lfsr_mdir_lookupnext(lfs_t *lfs, const lfsr_mdir_t *mdir,
lfs_ssize_t rid, lfsr_tag_t tag,
lfs_ssize_t *rid_, lfsr_tag_t *tag_, lfsr_data_t *data_) {
return lfsr_rbyd_lookupnext(lfs, &mdir->u.r.rbyd, rid, tag,
rid_, tag_, NULL, data_);
}
static int lfsr_mdir_lookup(lfs_t *lfs, const lfsr_mdir_t *mdir, static int lfsr_mdir_lookup(lfs_t *lfs, const lfsr_mdir_t *mdir,
lfs_ssize_t rid, lfsr_tag_t tag, lfs_ssize_t rid, lfsr_tag_t tag,
lfsr_tag_t *tag_, lfsr_data_t *data_) { lfsr_tag_t *tag_, lfsr_data_t *data_) {
return lfsr_rbyd_lookup(lfs, &mdir->u.r.rbyd, rid, tag, tag_, data_); return lfsr_rbyd_lookup(lfs, &mdir->u.r.rbyd, rid, tag, tag_, data_);
} }
// TODO do we need this?
// TODO move this into the tests?
static lfs_ssize_t lfsr_mdir_get(lfs_t *lfs, const lfsr_mdir_t *mdir,
lfs_ssize_t rid, lfsr_tag_t tag, void *buffer, lfs_size_t size) {
return lfsr_rbyd_get(lfs, &mdir->u.r.rbyd, rid, tag, buffer, size);
}
// some mdir-related gstate things we need // some mdir-related gstate things we need
static void lfsr_fs_flushgdelta(lfs_t *lfs) { static void lfsr_fs_flushgdelta(lfs_t *lfs) {
+14
View File
@@ -8,6 +8,20 @@ defines.LOOKAHEAD_SIZE = 'lfs_alignup(BLOCK_COUNT / 8, 8)'
# helper functions # helper functions
in = 'lfs.c' in = 'lfs.c'
code = ''' code = '''
static int lfsr_btree_get(lfs_t *lfs,
const lfsr_btree_t *btree, lfs_size_t bid,
lfsr_tag_t *tag_, lfs_size_t *weight_,
void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_btree_lookup(lfs, btree, bid,
tag_, weight_, &data);
if (err) {
return err;
}
return lfsr_data_read(lfs, &data, buffer, size);
}
static int lfsr_btree_push(lfs_t *lfs, lfsr_btree_t *btree, static int lfsr_btree_push(lfs_t *lfs, lfsr_btree_t *btree,
lfs_size_t bid, lfsr_tag_t tag, lfs_size_t weight, lfs_size_t bid, lfsr_tag_t tag, lfs_size_t weight,
lfsr_data_t data) { lfsr_data_t data) {
+15
View File
@@ -5,6 +5,21 @@ after = ['test_rbyd', 'test_btree']
# of the disk for these tests # of the disk for these tests
defines.LOOKAHEAD_SIZE = 'BLOCK_COUNT / 8' defines.LOOKAHEAD_SIZE = 'BLOCK_COUNT / 8'
# some helper functions
in = 'lfs.c'
code = '''
static lfs_ssize_t lfsr_mdir_get(lfs_t *lfs, const lfsr_mdir_t *mdir,
lfs_ssize_t rid, lfsr_tag_t tag, void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_mdir_lookup(lfs, mdir, rid, tag, NULL, &data);
if (err) {
return err;
}
return lfsr_data_read(lfs, &data, buffer, size);
}
'''
# test a single mroot # test a single mroot
[cases.test_mtree_mroot] [cases.test_mtree_mroot]
code = ''' code = '''
+15
View File
@@ -13,6 +13,21 @@ defines.ERASE_VALUE = [0xff, 0x00, 0x1b]
# waste time when testing # waste time when testing
defines.BLOCK_SIZE = 32768 defines.BLOCK_SIZE = 32768
# some internal helpers
in = 'lfs.c'
code = '''
static lfs_ssize_t lfsr_rbyd_get(lfs_t *lfs, const lfsr_rbyd_t *rbyd,
lfs_ssize_t rid, lfsr_tag_t tag, void *buffer, lfs_size_t size) {
lfsr_data_t data;
int err = lfsr_rbyd_lookup(lfs, rbyd, rid, tag, NULL, &data);
if (err) {
return err;
}
return lfsr_data_read(lfs, &data, buffer, size);
}
'''
[cases.test_rbyd_commit] [cases.test_rbyd_commit]
in = 'lfs.c' in = 'lfs.c'
code = ''' code = '''