aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Johnson <jeremy.johnson@arm.com>2021-11-18 12:18:39 +0000
committerJeremy Johnson <jeremy.johnson@arm.com>2021-11-18 16:26:38 +0000
commit3ca02a7521b89deccbe4a2e851bb7d66fcfc93e8 (patch)
treea40e360884541bfc4146fef1ad9a49a83c54975b
parent27cf543c39ef9eb8be3304127e268d01ec7e656c (diff)
downloadreference_model-3ca02a7521b89deccbe4a2e851bb7d66fcfc93e8.tar.gz
WrongRank negative test gen additions & fixes
REDUCE ops - test generation now limited to ranks 1-4 and so WrongRank tests created SCATTER/GATHER ops - enable WrongRank testing Change-Id: I0909573e0edabddbad8764e7542d654967a5c8b9 Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
-rw-r--r--verif/tosa_test_gen.py25
1 files changed, 17 insertions, 8 deletions
diff --git a/verif/tosa_test_gen.py b/verif/tosa_test_gen.py
index 9eef7fa..22886d6 100644
--- a/verif/tosa_test_gen.py
+++ b/verif/tosa_test_gen.py
@@ -303,7 +303,8 @@ class TosaTensorGen:
assert pl == 2
assert const == 0
- assert rank == 3
+ if error_name != ErrorIf.WrongRank:
+ assert rank == 3
values_in_shape = testGen.makeShape(rank)
@@ -4472,9 +4473,9 @@ class TosaTestGen:
validator_fcns,
error_name,
op=op,
- input_shape = input.shape,
+ input_shape = values_in.shape,
output_shape = result_tens.shape,
- input_dtype = input.dtype,
+ input_dtype = values_in.dtype,
output_dtype = result_tens.dtype,
result_tensor = result_tens,
input_list=input_list,
@@ -5032,7 +5033,7 @@ class TosaTestGen:
cleanRankFilter = filterDict['rankFilter']
cleanDtypeFilter = filterDict['dtypeFilter']
cleanShapeFilter = filterDict['shapeFilter']
- #print(f"Filters: S {cleanShapeFilter}, R {cleanRankFilter}, T {cleanDtypeFilter}")
+ #print(f"Error: {error_name}, Filters: S {cleanShapeFilter}, R {cleanRankFilter}, T {cleanDtypeFilter}")
for r in cleanRankFilter:
for t in cleanDtypeFilter:
@@ -5960,6 +5961,7 @@ class TosaTestGen:
"reduce_all": {
"op": Op.REDUCE_ALL,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_BOOL,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -5969,6 +5971,7 @@ class TosaTestGen:
"reduce_any": {
"op": Op.REDUCE_ANY,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_BOOL,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -5978,6 +5981,7 @@ class TosaTestGen:
"reduce_max": {
"op": Op.REDUCE_MAX,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_INT_FP,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -5987,6 +5991,7 @@ class TosaTestGen:
"reduce_min": {
"op": Op.REDUCE_MAX,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_INT_FP,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -5996,6 +6001,7 @@ class TosaTestGen:
"reduce_product": {
"op": Op.REDUCE_PRODUCT,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_FP,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -6005,6 +6011,7 @@ class TosaTestGen:
"reduce_sum": {
"op": Op.REDUCE_SUM,
"operands": (1, 0),
+ "rank": (1, 4),
"build_fcn": (build_reduce, TosaTensorGen.tgBasic, TosaArgGen.agAxis),
"types": TYPE_FI32,
"error_if_validators": (TosaErrorValidator.evAxisLargerRank, TosaErrorValidator.evAxisSmallerZero, TosaErrorValidator.evShapeOfAxisNotOne,
@@ -6100,7 +6107,7 @@ class TosaTestGen:
"build_fcn": (build_gather, TosaTensorGen.tgBasic, None),
"types": TYPE_INT_FP,
"error_if_validators": (TosaErrorValidator.evWrongInputType, TosaErrorValidator.evWrongOutputType,
- TosaErrorValidator.evWrongInputList, TosaErrorValidator.evWrongOutputList)
+ TosaErrorValidator.evWrongInputList, TosaErrorValidator.evWrongOutputList, TosaErrorValidator.evWrongRank)
},
"scatter": {
"op": Op.SCATTER,
@@ -6111,7 +6118,7 @@ class TosaTestGen:
"build_fcn": (build_scatter, TosaTensorGen.tgScatter, None),
"types": TYPE_INT_FP,
"error_if_validators": (TosaErrorValidator.evWrongInputType, TosaErrorValidator.evWrongOutputType,
- TosaErrorValidator.evWrongInputList, TosaErrorValidator.evWrongOutputList)
+ TosaErrorValidator.evWrongInputList, TosaErrorValidator.evWrongOutputList, TosaErrorValidator.evWrongRank)
},
# Image operations
"resize": {
@@ -6717,7 +6724,8 @@ class OutputShaper:
@staticmethod
def gatherOp(ser, rng, values, indices, error_name=None):
- assert len(values.shape) == 3
+ if error_name != ErrorIf.WrongRank:
+ assert len(values.shape) == 3
assert len(indices.shape) == 2
assert values.shape[0] == indices.shape[0]
@@ -6734,7 +6742,8 @@ class OutputShaper:
@staticmethod
def scatterOp(ser, rng, values_in, indices, input, error_name=None):
- assert len(values_in.shape) == 3
+ if error_name != ErrorIf.WrongRank:
+ assert len(values_in.shape) == 3
assert len(indices.shape) == 2
assert len(input.shape) == 3
assert values_in.shape[0] == indices.shape[0] # N