Generated v2 prefixes
This commit is contained in:
+55
-31
@@ -1,41 +1,53 @@
|
||||
[[case]] # simple formatting test
|
||||
# simple formatting test
|
||||
[cases.test_superblocks_format]
|
||||
code = '''
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_t lfs2;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
'''
|
||||
|
||||
[[case]] # mount/unmount
|
||||
# mount/unmount
|
||||
[cases.test_superblocks_mount]
|
||||
code = '''
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_t lfs2;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
'''
|
||||
|
||||
[[case]] # reentrant format
|
||||
# reentrant format
|
||||
[cases.test_superblocks_reentrant_format]
|
||||
reentrant = true
|
||||
code = '''
|
||||
err = lfs2_mount(&lfs2, &cfg);
|
||||
lfs2_t lfs2;
|
||||
int err = lfs2_mount(&lfs2, cfg);
|
||||
if (err) {
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
}
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
'''
|
||||
|
||||
[[case]] # invalid mount
|
||||
# invalid mount
|
||||
[cases.test_superblocks_invalid_mount]
|
||||
code = '''
|
||||
lfs2_mount(&lfs2, &cfg) => LFS2_ERR_CORRUPT;
|
||||
lfs2_t lfs2;
|
||||
lfs2_mount(&lfs2, cfg) => LFS2_ERR_CORRUPT;
|
||||
'''
|
||||
|
||||
[[case]] # expanding superblock
|
||||
define.LFS2_BLOCK_CYCLES = [32, 33, 1]
|
||||
define.N = [10, 100, 1000]
|
||||
# expanding superblock
|
||||
[cases.test_superblocks_expand]
|
||||
defines.BLOCK_CYCLES = [32, 33, 1]
|
||||
defines.N = [10, 100, 1000]
|
||||
code = '''
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_t lfs2;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
for (int i = 0; i < N; i++) {
|
||||
lfs2_file_t file;
|
||||
lfs2_file_open(&lfs2, &file, "dummy",
|
||||
LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_EXCL) => 0;
|
||||
lfs2_file_close(&lfs2, &file) => 0;
|
||||
struct lfs2_info info;
|
||||
lfs2_stat(&lfs2, "dummy", &info) => 0;
|
||||
assert(strcmp(info.name, "dummy") == 0);
|
||||
assert(info.type == LFS2_TYPE_REG);
|
||||
@@ -44,25 +56,30 @@ code = '''
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
|
||||
// one last check after power-cycle
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
lfs2_file_t file;
|
||||
lfs2_file_open(&lfs2, &file, "dummy",
|
||||
LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_EXCL) => 0;
|
||||
lfs2_file_close(&lfs2, &file) => 0;
|
||||
struct lfs2_info info;
|
||||
lfs2_stat(&lfs2, "dummy", &info) => 0;
|
||||
assert(strcmp(info.name, "dummy") == 0);
|
||||
assert(info.type == LFS2_TYPE_REG);
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
'''
|
||||
|
||||
[[case]] # expanding superblock with power cycle
|
||||
define.LFS2_BLOCK_CYCLES = [32, 33, 1]
|
||||
define.N = [10, 100, 1000]
|
||||
# expanding superblock with power cycle
|
||||
[cases.test_superblocks_expand_power_cycle]
|
||||
defines.BLOCK_CYCLES = [32, 33, 1]
|
||||
defines.N = [10, 100, 1000]
|
||||
code = '''
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_t lfs2;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
for (int i = 0; i < N; i++) {
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
// remove lingering dummy?
|
||||
err = lfs2_stat(&lfs2, "dummy", &info);
|
||||
struct lfs2_info info;
|
||||
int err = lfs2_stat(&lfs2, "dummy", &info);
|
||||
assert(err == 0 || (err == LFS2_ERR_NOENT && i == 0));
|
||||
if (!err) {
|
||||
assert(strcmp(info.name, "dummy") == 0);
|
||||
@@ -70,6 +87,7 @@ code = '''
|
||||
lfs2_remove(&lfs2, "dummy") => 0;
|
||||
}
|
||||
|
||||
lfs2_file_t file;
|
||||
lfs2_file_open(&lfs2, &file, "dummy",
|
||||
LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_EXCL) => 0;
|
||||
lfs2_file_close(&lfs2, &file) => 0;
|
||||
@@ -80,26 +98,30 @@ code = '''
|
||||
}
|
||||
|
||||
// one last check after power-cycle
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
struct lfs2_info info;
|
||||
lfs2_stat(&lfs2, "dummy", &info) => 0;
|
||||
assert(strcmp(info.name, "dummy") == 0);
|
||||
assert(info.type == LFS2_TYPE_REG);
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
'''
|
||||
|
||||
[[case]] # reentrant expanding superblock
|
||||
define.LFS2_BLOCK_CYCLES = [2, 1]
|
||||
define.N = 24
|
||||
# reentrant expanding superblock
|
||||
[cases.test_superblocks_reentrant_expand]
|
||||
defines.BLOCK_CYCLES = [2, 1]
|
||||
defines.N = 24
|
||||
reentrant = true
|
||||
code = '''
|
||||
err = lfs2_mount(&lfs2, &cfg);
|
||||
lfs2_t lfs2;
|
||||
int err = lfs2_mount(&lfs2, cfg);
|
||||
if (err) {
|
||||
lfs2_format(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_format(&lfs2, cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
}
|
||||
|
||||
for (int i = 0; i < N; i++) {
|
||||
// remove lingering dummy?
|
||||
struct lfs2_info info;
|
||||
err = lfs2_stat(&lfs2, "dummy", &info);
|
||||
assert(err == 0 || (err == LFS2_ERR_NOENT && i == 0));
|
||||
if (!err) {
|
||||
@@ -108,6 +130,7 @@ code = '''
|
||||
lfs2_remove(&lfs2, "dummy") => 0;
|
||||
}
|
||||
|
||||
lfs2_file_t file;
|
||||
lfs2_file_open(&lfs2, &file, "dummy",
|
||||
LFS2_O_WRONLY | LFS2_O_CREAT | LFS2_O_EXCL) => 0;
|
||||
lfs2_file_close(&lfs2, &file) => 0;
|
||||
@@ -119,7 +142,8 @@ code = '''
|
||||
lfs2_unmount(&lfs2) => 0;
|
||||
|
||||
// one last check after power-cycle
|
||||
lfs2_mount(&lfs2, &cfg) => 0;
|
||||
lfs2_mount(&lfs2, cfg) => 0;
|
||||
struct lfs2_info info;
|
||||
lfs2_stat(&lfs2, "dummy", &info) => 0;
|
||||
assert(strcmp(info.name, "dummy") == 0);
|
||||
assert(info.type == LFS2_TYPE_REG);
|
||||
|
||||
Reference in New Issue
Block a user