preerase: Expanded preerase testing to include non-0xff erase values

I just noticed we weren't testing preerase with non-0xff ecksums at all!

Added to relevant tests:

  # test with a number of different erase values
  defines.ERASE_VALUE = [0xff, 0x00, -1]

The most important non-0xff value being -1 (noop erases), which should
usually result in fragmented ecksums.

Note this was copied from test_rbyd, where we do something similar to
test non-0xff ecksums in rbyd logs.
This commit is contained in:
Christopher Haster
2026-01-06 10:51:23 -06:00
parent 340b786e6b
commit c07a69c2a6
3 changed files with 10 additions and 1 deletions
+4 -1
View File
@@ -926,10 +926,12 @@ defines.WRAPAROUND = 3
defines.PREERASE = [false, true]
defines.GC_FLAGS = '''
LFS3_GC_LOOKAHEAD
| ((PREERASE) ? LFS3_GC_PREERASE : 0)
| ((PREERASE) ? LFS3_IFDEF_PREERASE(LFS3_GC_PREERASE, -1) : 0)
'''
defines.GC_STEPS = -1
defines.GC_PREERASE_COUNT = ['0', '4', 'COUNT/2', 'COUNT-4', '-1']
# test with a number of different erase values
defines.ERASE_VALUE = [0xff, 0x00, -1]
ifdef = 'LFS3_GC'
if = [
'COUNT >= 3',
@@ -937,6 +939,7 @@ if = [
'LFS3_IFDEF_PREERASE(true, !PREERASE)',
# this is just to reduce useless permutations
'PREERASE || GC_PREERASE_COUNT == 0',
'PREERASE || ERASE_VALUE == 0xff',
]
code = '''
// test various block counts