aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2024-04-08 15:18:05 +0100
committerJeremy Johnson <jeremy.johnson@arm.com>2024-04-09 14:18:04 +0100
commit3f3de01fa87246161e47c15fd6c44f710b86f3e7 (patch)
tree769f906cab3c4a318019aea4ecda15d5ea0d07a3
parentc870d1ef9d1299a71a35ef0d7d68e5c09bc77efb (diff)
downloadreference_model-3f3de01fa87246161e47c15fd6c44f710b86f3e7.tar.gz
Fix/improve SLICE test generation
Only generate valid arguments for slice, improving test generation. Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com> Change-Id: Id2db7bd42773e8d182ad814c4295ea4927a035a8
-rw-r--r--verif/generator/tosa_arg_gen.py23
1 files changed, 11 insertions, 12 deletions
diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py
index 9b20053..670a3e4 100644
--- a/verif/generator/tosa_arg_gen.py
+++ b/verif/generator/tosa_arg_gen.py
@@ -3336,26 +3336,25 @@ class TosaArgGen:
start = []
size = []
- valid = True
-
for i in range(rank):
if ifm_shape[i] > 1:
+ # Start from 0 to dimension size - 1 to leave room for slice of 1
start.append(rng.randInt(0, ifm_shape[i]))
- size.append(rng.randInt(0, ifm_shape[i] - start[i]))
+ # Size from 1 up to rest of room (dimension size - start)
+ size.append(rng.randInt(1, ifm_shape[i] + 1 - start[i]))
- # Invalid slice size?
- if size[i] == 0:
- valid = False
+ # Should never hit an invalid slice size
+ assert size[i] > 0 and (size[i] + start[i]) <= ifm_shape[i]
else:
start.append(0)
size.append(1)
- if valid:
- # If ERROR_IF test required then incorrect start, size will be returned
- start, size = TosaErrorIfArgGen.eiSliceErrorIf(
- rng, error_name, ifm_shape, start, size
- )
- arg_list.append(("perm{}".format(p), {"start": start, "size": size}))
+ # If ERROR_IF test required then incorrect start, size will be returned
+ start, size = TosaErrorIfArgGen.eiSliceErrorIf(
+ rng, error_name, ifm_shape, start, size
+ )
+ arg_list.append(("perm{}".format(p), {"start": start, "size": size}))
+
# Now add data generator types
arg_list = TosaArgGen._add_data_generators(
testGen,