Reorganized test suites a bit

- Renamed test_dtree -> test_dirs
- Renamed test_dseek -> test_dread
- Split test_files -> test_files, test_fwrite
This commit is contained in:
Christopher Haster
2023-11-30 03:23:47 -06:00
parent 4da7c88eb0
commit b1ce27f733
5 changed files with 2513 additions and 3030 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
# since you can usually ignore allocator issues temporarily by making the test
# device really big (-DDISK_SIZE=16777216, etc)
#
after = ['test_mtree', 'test_dtree', 'test_files']
after = ['test_mtree', 'test_dirs', 'test_files']
# TODO test all of these with weird block sizes? would be nice to make this
+48 -48
View File
@@ -3,7 +3,7 @@ after = 'test_mtree'
## mkdir tests
[cases.test_dtree_mkdir]
[cases.test_dirs_mkdir]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -52,7 +52,7 @@ code = '''
'''
# test that noent errors work
[cases.test_dtree_noent]
[cases.test_dirs_noent]
defines.REMOUNT = [false, true]
code = '''
lfs_t lfs;
@@ -99,7 +99,7 @@ code = '''
'''
# test that stat on root works
[cases.test_dtree_stat_root]
[cases.test_dirs_stat_root]
defines.REMOUNT = [false, true]
code = '''
lfs_t lfs;
@@ -146,7 +146,7 @@ code = '''
'''
# test that creating the same directory twice errors
[cases.test_dtree_mkdir_exists]
[cases.test_dirs_mkdir_exists]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -197,7 +197,7 @@ code = '''
'''
# test that dir existance is the same before/after mkconsistent
[cases.test_dtree_mkdir_consistent]
[cases.test_dirs_mkdir_consistent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -268,7 +268,7 @@ code = '''
'''
# test what happens if we try to make root
[cases.test_dtree_mkdir_root]
[cases.test_dirs_mkdir_root]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -324,7 +324,7 @@ code = '''
'''
# test that creating a directory with an invalid path errors
[cases.test_dtree_mkdir_noent]
[cases.test_dirs_mkdir_noent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -377,7 +377,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_siblings]
[cases.test_dirs_mkdir_siblings]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -479,7 +479,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_children]
[cases.test_dirs_mkdir_children]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -629,7 +629,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_many]
[cases.test_dirs_mkdir_many]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.REMOUNT = [false, true]
# limit powerloss testing due to time
@@ -692,7 +692,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_many_backwards]
[cases.test_dirs_mkdir_many_backwards]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.REMOUNT = [false, true]
# limit powerloss testing due to time
@@ -755,7 +755,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_many_2layers]
[cases.test_dirs_mkdir_many_2layers]
defines.N = [1, 2, 4, 8, 16]
defines.REMOUNT = [false, true]
# limit powerloss testing due to time
@@ -856,7 +856,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_many_3layers]
[cases.test_dirs_mkdir_many_3layers]
defines.N = [1, 2, 4]
defines.REMOUNT = [false, true]
# limit powerloss testing due to time
@@ -995,7 +995,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_many_linkedlist]
[cases.test_dirs_mkdir_many_linkedlist]
defines.N = [1, 2, 4, 8, 16, 32, 64]
defines.REMOUNT = [false, true]
# limit powerloss testing due to time
@@ -1065,7 +1065,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mkdir_fuzz]
[cases.test_dirs_mkdir_fuzz]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
defines.REMOUNT = [false, true]
@@ -1166,7 +1166,7 @@ code = '''
# test that did collisions don't cause issues
[cases.test_dtree_did_collisions]
[cases.test_dirs_did_collisions]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1327,7 +1327,7 @@ code = '''
'''
# these will also collide with the root
[cases.test_dtree_did_zero]
[cases.test_dirs_did_zero]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1490,7 +1490,7 @@ code = '''
# these will need to rollover from 0xffffffff -> 0x00000000 correctly
#
# note this is true even if you truncate
[cases.test_dtree_did_ones]
[cases.test_dirs_did_ones]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1653,7 +1653,7 @@ code = '''
# these test some boundary conditions on the underlying leb128 encoding,
# if the leb128 disk-size is not calculated correctly these can cause
# issues
[cases.test_dtree_did_leb128_boundaries]
[cases.test_dirs_did_leb128_boundaries]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1816,7 +1816,7 @@ code = '''
## dir remove tests
[cases.test_dtree_rm]
[cases.test_dirs_rm]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1890,7 +1890,7 @@ code = '''
'''
# test that noent errors work
[cases.test_dtree_rm_noent]
[cases.test_dirs_rm_noent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -1947,7 +1947,7 @@ code = '''
'''
# test that we catch removing of a non-empty directory
[cases.test_dtree_rm_notempty]
[cases.test_dirs_rm_notempty]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -2018,7 +2018,7 @@ code = '''
'''
# test that dir existance is the same before/after mkconsistent
[cases.test_dtree_rm_consistent]
[cases.test_dirs_rm_consistent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -2114,7 +2114,7 @@ code = '''
'''
# test what happens if we try to remove root
[cases.test_dtree_rm_root]
[cases.test_dirs_rm_root]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -2170,7 +2170,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_siblings]
[cases.test_dirs_rm_siblings]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -2365,7 +2365,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_children]
[cases.test_dirs_rm_children]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -2638,7 +2638,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_many]
[cases.test_dirs_rm_many]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.REMAINING = [64, 2, 1, 0]
defines.REMOUNT = [false, true]
@@ -2753,7 +2753,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_many_backwards]
[cases.test_dirs_rm_many_backwards]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.REMAINING = [64, 2, 1, 0]
defines.REMOUNT = [false, true]
@@ -2868,7 +2868,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_many_2layers]
[cases.test_dirs_rm_many_2layers]
defines.N = [1, 2, 4, 8, 16]
defines.REMAINING = [2, 1, 0]
defines.REMOUNT = [false, true]
@@ -3076,7 +3076,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_many_3layers]
[cases.test_dirs_rm_many_3layers]
defines.N = [1, 2, 4]
defines.REMAINING = [2, 1, 0]
defines.REMOUNT = [false, true]
@@ -3374,7 +3374,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_many_linkedlist]
[cases.test_dirs_rm_many_linkedlist]
defines.N = [1, 2, 4, 8, 16, 32, 64]
defines.REMAINING = [16, 2, 1, 0]
defines.REMOUNT = [false, true]
@@ -3497,7 +3497,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_rm_fuzz]
[cases.test_dirs_rm_fuzz]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
defines.REMOUNT = [false, true]
@@ -3617,7 +3617,7 @@ code = '''
## dir rename tests
[cases.test_dtree_mv]
[cases.test_dirs_mv]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -3703,7 +3703,7 @@ code = '''
'''
# test that we can rename, and replace, other directories
[cases.test_dtree_mv_replace]
[cases.test_dirs_mv_replace]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -3788,7 +3788,7 @@ code = '''
'''
# test that we can rename to ourselves
[cases.test_dtree_mv_noop]
[cases.test_dirs_mv_noop]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -3867,7 +3867,7 @@ code = '''
'''
# test that we catch replacing an invalid path
[cases.test_dtree_mv_noent]
[cases.test_dirs_mv_noent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -3927,7 +3927,7 @@ code = '''
'''
# test that we catch replacing a non-empty directory
[cases.test_dtree_mv_notempty]
[cases.test_dirs_mv_notempty]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -4005,7 +4005,7 @@ code = '''
'''
# test that dir existance is the same before/after mkconsistent
[cases.test_dtree_mv_consistent]
[cases.test_dirs_mv_consistent]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -4122,7 +4122,7 @@ code = '''
'''
# test what happens if we try to rename root
[cases.test_dtree_mv_root]
[cases.test_dirs_mv_root]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -4175,7 +4175,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_siblings]
[cases.test_dirs_mv_siblings]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -4437,7 +4437,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_children]
[cases.test_dirs_mv_children]
defines.REMOUNT = [false, true]
reentrant = true
code = '''
@@ -4863,7 +4863,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_many]
[cases.test_dirs_mv_many]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.BEFORE = [false, true]
defines.REMOUNT = [false, true]
@@ -4978,7 +4978,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_many_backwards]
[cases.test_dirs_mv_many_backwards]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.BEFORE = [false, true]
defines.REMOUNT = [false, true]
@@ -5093,7 +5093,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_many_2layers]
[cases.test_dirs_mv_many_2layers]
defines.N = [1, 2, 4, 8, 16]
defines.BEFORE = [false, true]
defines.REMOUNT = [false, true]
@@ -5298,7 +5298,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_many_3layers]
[cases.test_dirs_mv_many_3layers]
defines.N = [1, 2, 4]
defines.BEFORE = [false, true]
defines.REMOUNT = [false, true]
@@ -5600,7 +5600,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_many_linkedlist]
[cases.test_dirs_mv_many_linkedlist]
defines.N = [1, 2, 4, 8, 16, 32, 64]
defines.BEFORE = [false, true]
defines.REMOUNT = [false, true]
@@ -5736,7 +5736,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dtree_mv_fuzz]
[cases.test_dirs_mv_fuzz]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
defines.REMOUNT = [false, true]
@@ -5877,7 +5877,7 @@ code = '''
'''
# test all of the operations together
[cases.test_dtree_general_fuzz]
[cases.test_dirs_general_fuzz]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
defines.REMOUNT = [false, true]
+18 -18
View File
@@ -1,13 +1,13 @@
# Test the annoying subtle corner cases of directory seeking+reading
#
# Note there may be some overlap with test_dtree, since some dir operations
# Note there may be some overlap with test_dirs, since some dir operations
# are needed to validate the directory tree works
after = 'test_dtree'
after = 'test_dirs'
# test some dir functions
[cases.test_dseek_tell]
[cases.test_dread_tell]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
code = '''
@@ -58,7 +58,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_rewind]
[cases.test_dread_rewind]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
code = '''
@@ -129,7 +129,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_seek]
[cases.test_dread_seek]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
code = '''
@@ -202,7 +202,7 @@ code = '''
# test we don't ever get extra entries back after we reach
# the end of a directory
[cases.test_dseek_read_idempotent]
[cases.test_dread_read_idempotent]
defines.PARENT = [false, true]
# bit 0x2 = left neighbor
# bit 0x1 = right neighbor
@@ -289,7 +289,7 @@ code = '''
'''
# test neighbor changes don't mess with an unrelated dir read
[cases.test_dseek_read_neighbor_mkdirs]
[cases.test_dread_read_neighbor_mkdirs]
defines.N = 5
# where in the dir read do we mkdir?
defines.I = 'range(6)'
@@ -410,7 +410,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_neighbor_rms]
[cases.test_dread_read_neighbor_rms]
defines.N = 5
# where in the dir read do we mkdir?
defines.I = 'range(6)'
@@ -541,7 +541,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_neighbor_mvs]
[cases.test_dread_read_neighbor_mvs]
defines.N = 5
# where in the dir read do we mkdir?
defines.I = 'range(6)'
@@ -677,7 +677,7 @@ code = '''
'''
# test dir read has somewhat reasonable behaviour when the dir is modified
[cases.test_dseek_read_with_mkdirs]
[cases.test_dread_read_with_mkdirs]
defines.N = 5
# where in the dir read do we mkdir?
defines.I = 'range(6)'
@@ -772,7 +772,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_with_rms]
[cases.test_dread_read_with_rms]
defines.N = 5
# where in the dir read do we rm?
defines.I = 'range(5)'
@@ -871,7 +871,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_with_mvs]
[cases.test_dread_read_with_mvs]
defines.N = 5
# where in the dir read do we rm?
defines.I = 'range(5)'
@@ -989,7 +989,7 @@ code = '''
# dir reads with 2x ops have better chances of catching bugs that depend on
# invalid dir states
[cases.test_dseek_read_with_2_mkdirs]
[cases.test_dread_read_with_2_mkdirs]
defines.N = 5
# where in the dir read do we mkdir?
defines.I = 'range(6)'
@@ -1094,7 +1094,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_with_2_rms]
[cases.test_dread_read_with_2_rms]
defines.N = 5
# where in the dir read do we rm?
defines.I = 'range(5)'
@@ -1201,7 +1201,7 @@ code = '''
lfsr_unmount(&lfs) => 0;
'''
[cases.test_dseek_read_with_2_mvs]
[cases.test_dread_read_with_2_mvs]
defines.N = 5
# where in the dir read do we rm?
defines.I = 'range(5)'
@@ -1331,7 +1331,7 @@ code = '''
'''
# test removing the directory we are iterating over
[cases.test_dseek_read_rm]
[cases.test_dread_read_rm]
defines.N = 5
# where in the dir read do we remove?
defines.I = 'range(6)'
@@ -1424,7 +1424,7 @@ code = '''
#
# This is a useful feature, but it's unintuitive if this should have
# well-defined behavior, so make sure to test for it
[cases.test_dseek_recursive_rm]
[cases.test_dread_recursive_rm]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.PARENT = [false, true]
# 0 => don't seek
@@ -1546,7 +1546,7 @@ code = '''
#
# This is a useful feature, but it's unintuitive if this should have
# well-defined behavior, so make sure to test for it
[cases.test_dseek_recursive_mv]
[cases.test_dread_recursive_mv]
defines.N = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
defines.BEFORE = [false, true]
# 0 => no
+1 -2963
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff