summaryrefslogtreecommitdiffstats
path: root/searchcore/src/tests
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@oath.com>2021-06-23 13:53:28 +0000
committerHåvard Pettersen <havardpe@oath.com>2021-06-23 14:57:27 +0000
commit6558fa641b2b762f710c02448c887c40e60b1d18 (patch)
treebe7c65746de5bfb5dfc9d752843fc5d3dc6d74db /searchcore/src/tests
parent16a9339a6cfb78bb5177a80fc7463a2bcd994c9a (diff)
dry run onnx models on setup
Diffstat (limited to 'searchcore/src/tests')
-rw-r--r--searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp b/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp
index fc70bafed7f..c13440de4d5 100644
--- a/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp
+++ b/searchcore/src/tests/proton/verify_ranksetup/verify_ranksetup_test.cpp
@@ -188,6 +188,7 @@ struct Setup {
out.fmt("model[%zu].output[%zu].as \"%s\"\n", idx, idx2, output.second.c_str());
++idx2;
}
+ out.fmt("model[%zu].dry_run_on_setup %s\n", idx, entry.second.dry_run_on_setup() ? "true" : "false");
++idx;
}
}
@@ -269,6 +270,10 @@ struct OnnxSetup : Setup {
.input_feature("attribute_tensor", "rankingExpression(at)")
.input_feature("bias_tensor", "rankingExpression(bt)")
.output_name("output", "result"));
+ add_onnx_model(OnnxModel("fragile", TEST_PATH("../../../../../searchlib/src/tests/features/onnx_feature/fragile.onnx"))
+ .dry_run_on_setup(true));
+ add_onnx_model(OnnxModel("unfragile", TEST_PATH("../../../../../searchlib/src/tests/features/onnx_feature/fragile.onnx"))
+ .dry_run_on_setup(false));
}
};
@@ -417,6 +422,24 @@ TEST_F("require that onnx model can have inputs and outputs mapped", OnnxSetup()
f.verify_valid({"onnxModel(mapped).result"});
}
+TEST_F("require that fragile model can pass verification", OnnxSetup()) {
+ f.rank_expr("in1", "tensor<float>(a[2]):[1,2]");
+ f.rank_expr("in2", "tensor<float>(a[2]):[3,4]");
+ f.verify_valid({"onnxModel(fragile)"});
+}
+
+TEST_F("require that broken fragile model fails verification", OnnxSetup()) {
+ f.rank_expr("in1", "tensor<float>(a[2]):[1,2]");
+ f.rank_expr("in2", "tensor<float>(a[3]):[3,4,31515]");
+ f.verify_invalid({"onnxModel(fragile)"});
+}
+
+TEST_F("require that broken fragile model without dry-run passes verification", OnnxSetup()) {
+ f.rank_expr("in1", "tensor<float>(a[2]):[1,2]");
+ f.rank_expr("in2", "tensor<float>(a[3]):[3,4,31515]");
+ f.verify_valid({"onnxModel(unfragile)"});
+}
+
//-----------------------------------------------------------------------------
TEST_F("cleanup files", Setup()) {