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:
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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 = '''
|
||||||
|
|||||||
@@ -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 = '''
|
||||||
|
|||||||
Reference in New Issue
Block a user