Generate tests with random combination of const/inputs

Override the default input/consts used for each op with biased
random combos.

Signed-off-by: Jeremy Johnson <jeremy.johnson@arm.com>
Change-Id: I7a5eb2b01a47248bc0db5a2f930ad2ac52cc0a67
diff --git a/verif/generator/tosa_arg_gen.py b/verif/generator/tosa_arg_gen.py
index f9499b5..9b20053 100644
--- a/verif/generator/tosa_arg_gen.py
+++ b/verif/generator/tosa_arg_gen.py
@@ -796,7 +796,17 @@
             tens_meta["input_pos"] = idx
             tens_meta["op"] = gtu.getOpNameFromOpListName(opName).upper()
 
-            if idx < pCount:
+            if testGen.args.random_const_inputs:
+                # Choose type of tensor biased by defaults
+                percentage = rng.randInt(0, 100)
+                variable = (idx < pCount and percentage < 70) or (
+                    idx >= pCount and percentage >= 70
+                )
+            else:
+                # Use default set up of constants versus inputs for the op
+                variable = idx < pCount
+
+            if variable:
                 tens_meta["input_type"] = "VARIABLE"
             else:
                 tens_meta["input_type"] = "CONSTANT"
@@ -876,7 +886,7 @@
             if testGen.args.lazy_data_gen:
                 data = None
 
-            if tens_meta["input_type"] == "VARIABLE":
+            if variable:
                 tens = testGen.ser.addPlaceholder(shape, dtypeList[idx], data)
             else:
                 tens = testGen.ser.addConst(shape, dtypeList[idx], data)
diff --git a/verif/generator/tosa_verif_build_tests.py b/verif/generator/tosa_verif_build_tests.py
index 472ba4d..a46b061 100644
--- a/verif/generator/tosa_verif_build_tests.py
+++ b/verif/generator/tosa_verif_build_tests.py
@@ -250,6 +250,13 @@
     )
 
     ops_group.add_argument(
+        "--random-const-inputs",
+        dest="random_const_inputs",
+        action="store_true",
+        help="Allow any combination of input/constant tensors for operators",
+    )
+
+    ops_group.add_argument(
         "--num-const-inputs-concat",
         dest="num_const_inputs_concat",
         default=0,