Skip to content

Commit 6c9d1d8

Browse files
dpotmaneboasson
authored andcommitted
Fix mutator in fuzzer test, so that non-final structs that are nested via a final struct are not changed
Signed-off-by: Dennis Potman <dennis@zettascale.tech>
1 parent b5eaa34 commit 6c9d1d8

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

  • tests/support_modules/fuzz_tools/rand_idl

tests/support_modules/fuzz_tools/rand_idl/mutator.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def mutate(top_scope: cn.RScope, seed):
6161
avoid_mutating = set()
6262
def scan_avoid_mutating_field(field: cn.RField):
6363
nonlocal avoid_mutating
64-
if field.array_bound is not None or field.type.discriminator in [cn.RTypeDiscriminator.Sequence, cn.RTypeDiscriminator.BoundedSequence]:
64+
if field.array_bound is not None or field.type.discriminator in [cn.RTypeDiscriminator.Sequence, cn.RTypeDiscriminator.BoundedSequence, cn.RTypeDiscriminator.Nested]:
6565
dependencies = field.depending()
6666
if dependencies and isinstance(dependencies[0], (cn.RStruct, cn.RUnion)) and \
6767
dependencies[0].extensibility in [cn.RExtensibility.NotSpecified, cn.RExtensibility.Final]:
@@ -83,7 +83,7 @@ def scan_avoid_mutating_field(field: cn.RField):
8383
if entity.default:
8484
scan_avoid_mutating_field(entity.default)
8585
if isinstance(entity, cn.RTypedef):
86-
if entity.array_bound or entity.rtype.discriminator in [cn.RTypeDiscriminator.Sequence, cn.RTypeDiscriminator.BoundedSequence]:
86+
if entity.array_bound or entity.rtype.discriminator in [cn.RTypeDiscriminator.Sequence, cn.RTypeDiscriminator.BoundedSequence, cn.RTypeDiscriminator.Nested]:
8787
dependencies = entity.rtype.depending()
8888
if dependencies and isinstance(dependencies[0], (cn.RStruct, cn.RUnion)) and \
8989
dependencies[0].extensibility in [cn.RExtensibility.NotSpecified, cn.RExtensibility.Final]:

0 commit comments

Comments
 (0)