From 3f3de01fa87246161e47c15fd6c44f710b86f3e7 Mon Sep 17 00:00:00 2001 From: Jeremy Johnson Date: Mon, 8 Apr 2024 15:18:05 +0100 Subject: Fix/improve SLICE test generation Only generate valid arguments for slice, improving test generation. Signed-off-by: Jeremy Johnson Change-Id: Id2db7bd42773e8d182ad814c4295ea4927a035a8 --- verif/generator/tosa_arg_gen.py | 23 +++++++++++------------ 1 file 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, -- cgit v1.2.1