mirror of
https://github.com/linux-apfs/apfstests.git
synced 2026-05-01 15:01:44 -07:00
generic/574: fix sporadic failure with test_dummy_encryption
When the "test_dummy_encryption" mount option is specified, the fs-verity file corruption test generic/574 is flaky; it fails about 1% of the time. This happens because in the three test cases where a single byte of the test file is corrupted, sometimes the new byte happens to be the same as the original. This is specific to test_dummy_encryption because the encrypted data is nondeterministic (and appears random), unlike the unencrypted data. Fix this by corrupting 5 bytes instead of 1, so that the probability of failure becomes effectively zero. Signed-off-by: Eric Biggers <ebiggers@google.com>
This commit is contained in:
+8
-3
@@ -135,10 +135,15 @@ corruption_test()
|
||||
fi
|
||||
}
|
||||
|
||||
corruption_test 131072 0 1
|
||||
corruption_test 131072 4095 1
|
||||
# Note: these tests just overwrite some bytes without checking their original
|
||||
# values. Therefore, make sure to overwrite at least 5 or so bytes, to make it
|
||||
# nearly guaranteed that there will be a change -- even when the test file is
|
||||
# encrypted due to the test_dummy_encryption mount option being specified.
|
||||
|
||||
corruption_test 131072 0 5
|
||||
corruption_test 131072 4091 5
|
||||
corruption_test 131072 65536 65536
|
||||
corruption_test 131072 131071 1
|
||||
corruption_test 131072 131067 5
|
||||
|
||||
# Non-zeroed bytes in the final partial block beyond EOF should cause reads to
|
||||
# fail too. Such bytes would be visible via mmap().
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
QA output created by 574
|
||||
|
||||
# Corruption test: file_len=131072 zap_offset=0 zap_len=1
|
||||
# Corruption test: file_len=131072 zap_offset=0 zap_len=5
|
||||
0dfbe8aa4c20b52e1b8bf3cb6cbdf193 SCRATCH_MNT/file.fsv
|
||||
Corrupting bytes...
|
||||
Validating corruption (reading full file)...
|
||||
@@ -14,7 +14,7 @@ Bus error
|
||||
Validating corruption (reading just corrupted part via mmap)...
|
||||
Bus error
|
||||
|
||||
# Corruption test: file_len=131072 zap_offset=4095 zap_len=1
|
||||
# Corruption test: file_len=131072 zap_offset=4091 zap_len=5
|
||||
0dfbe8aa4c20b52e1b8bf3cb6cbdf193 SCRATCH_MNT/file.fsv
|
||||
Corrupting bytes...
|
||||
Validating corruption (reading full file)...
|
||||
@@ -42,7 +42,7 @@ Bus error
|
||||
Validating corruption (reading just corrupted part via mmap)...
|
||||
Bus error
|
||||
|
||||
# Corruption test: file_len=131072 zap_offset=131071 zap_len=1
|
||||
# Corruption test: file_len=131072 zap_offset=131067 zap_len=5
|
||||
0dfbe8aa4c20b52e1b8bf3cb6cbdf193 SCRATCH_MNT/file.fsv
|
||||
Corrupting bytes...
|
||||
Validating corruption (reading full file)...
|
||||
|
||||
Reference in New Issue
Block a user