Add 3 new invalid test cases

This commit is contained in:
Antonio Sanso 2022-01-06 13:08:47 +01:00 committed by GitHub
parent a8298026c1
commit b220655d24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 1 deletions

View File

@ -105,7 +105,7 @@ def invalid_cases():
RandomizationMode.mode_one_count, RandomizationMode.mode_one_count,
RandomizationMode.mode_max_count]: RandomizationMode.mode_max_count]:
if len(offsets) != 0: if len(offsets) != 0:
for offset_index in offsets: for index,offset_index in enumerate(offsets):
yield f'{name}_{mode.to_name()}_offset_{offset_index}_plus_one', \ yield f'{name}_{mode.to_name()}_offset_{offset_index}_plus_one', \
invalid_test_case(lambda: mod_offset( invalid_test_case(lambda: mod_offset(
b=serialize(container_case_fn(rng, mode, typ)), b=serialize(container_case_fn(rng, mode, typ)),
@ -118,3 +118,20 @@ def invalid_cases():
offset_index=offset_index, offset_index=offset_index,
change=lambda x: 0 change=lambda x: 0
)) ))
if index == 0:
yield f'{name}_{mode.to_name()}_first offset_{offset_index}_minus_one', \
invalid_test_case(lambda: mod_offset(
b=serialize(container_case_fn(rng, mode, typ)),
offset_index=offset_index,
change=lambda x: x - 1
))
if mode == RandomizationMode.mode_max_count:
serialized = serialize(container_case_fn(rng, mode, typ))
serialized = serialized + serialized[0:2]
yield f'{name}_{mode.to_name()}_last offset_{offset_index}_overflow', \
invalid_test_case(lambda:serialized)
if mode == RandomizationMode.mode_one_count:
serialized = serialize(container_case_fn(rng, mode, typ))
serialized = serialized + serialized[0:1]
yield f'{name}_{mode.to_name()}_last offset_{offset_index}_wrong_byte_length', \
invalid_test_case(lambda:serialized)