aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2021-03-22 11:52:35 +0000
committerArne Juul <arnej@verizonmedia.com>2021-03-22 12:57:57 +0000
commit34f05245723785b94afb0832e675bf370c77efc6 (patch)
treefcdda08d661d1a95a41b657f6cba88ddfdfcf445
parent8dfe34f9baa7ad7b89f4e07d5236a498050c0970 (diff)
use require and unwind
* instead of ASSERT, TEST_DO and TEST_STATE
-rw-r--r--eval/src/vespa/eval/eval/test/eval_fixture.cpp28
-rw-r--r--eval/src/vespa/eval/eval/test/eval_fixture.h15
2 files changed, 23 insertions, 20 deletions
diff --git a/eval/src/vespa/eval/eval/test/eval_fixture.cpp b/eval/src/vespa/eval/eval/test/eval_fixture.cpp
index 77cc1231f9c..47a121d7750 100644
--- a/eval/src/vespa/eval/eval/test/eval_fixture.cpp
+++ b/eval/src/vespa/eval/eval/test/eval_fixture.cpp
@@ -19,7 +19,7 @@ std::shared_ptr<Function const> verify_function(std::shared_ptr<Function const>
if (fun->has_error()) {
fprintf(stderr, "eval_fixture: function parse failed: %s\n", fun->get_error().c_str());
}
- ASSERT_TRUE(!fun->has_error());
+ REQUIRE(!fun->has_error());
return fun;
}
@@ -28,11 +28,11 @@ NodeTypes get_types(const Function &function, const ParamRepo &param_repo) {
for (size_t i = 0; i < function.num_params(); ++i) {
auto pos = param_repo.map.find(function.param_name(i));
if (pos == param_repo.map.end()) {
- TEST_STATE(fmt("param name: '%s'", function.param_name(i).data()).c_str());
- ASSERT_TRUE(pos != param_repo.map.end());
+ UNWIND_MSG("param name: '%s'", function.param_name(i).data());
+ REQUIRE(pos != param_repo.map.end());
}
param_types.push_back(ValueType::from_spec(pos->second.value.type()));
- ASSERT_TRUE(!param_types.back().is_error());
+ REQUIRE(!param_types.back().is_error());
}
NodeTypes node_types(function, param_types);
if (!node_types.errors().empty()) {
@@ -40,7 +40,7 @@ NodeTypes get_types(const Function &function, const ParamRepo &param_repo) {
fprintf(stderr, "eval_fixture: type error: %s\n", msg.c_str());
}
}
- ASSERT_TRUE(node_types.errors().empty());
+ REQUIRE(node_types.errors().empty());
return node_types;
}
@@ -48,7 +48,7 @@ std::set<size_t> get_mutable(const Function &function, const ParamRepo &param_re
std::set<size_t> mutable_set;
for (size_t i = 0; i < function.num_params(); ++i) {
auto pos = param_repo.map.find(function.param_name(i));
- ASSERT_TRUE(pos != param_repo.map.end());
+ REQUIRE(pos != param_repo.map.end());
if (pos->second.is_mutable) {
mutable_set.insert(i);
}
@@ -90,7 +90,7 @@ std::vector<Value::UP> make_params(const ValueBuilderFactory &factory, const Fun
std::vector<Value::UP> result;
for (size_t i = 0; i < function.num_params(); ++i) {
auto pos = param_repo.map.find(function.param_name(i));
- ASSERT_TRUE(pos != param_repo.map.end());
+ REQUIRE(pos != param_repo.map.end());
result.push_back(value_from_spec(pos->second.value, factory));
}
return result;
@@ -109,7 +109,7 @@ std::vector<Value::CREF> get_refs(const std::vector<Value::UP> &values) {
ParamRepo &
EvalFixture::ParamRepo::add(const vespalib::string &name, TensorSpec value)
{
- ASSERT_TRUE(map.find(name) == map.end());
+ REQUIRE(map.find(name) == map.end());
map.insert_or_assign(name, Param(std::move(value), false));
return *this;
}
@@ -117,7 +117,7 @@ EvalFixture::ParamRepo::add(const vespalib::string &name, TensorSpec value)
ParamRepo &
EvalFixture::ParamRepo::add_mutable(const vespalib::string &name, TensorSpec value)
{
- ASSERT_TRUE(map.find(name) == map.end());
+ REQUIRE(map.find(name) == map.end());
map.insert_or_assign(name, Param(std::move(value), true));
return *this;
}
@@ -166,10 +166,10 @@ EvalFixture::detect_param_tampering(const ParamRepo &param_repo, bool allow_muta
{
for (size_t i = 0; i < _function->num_params(); ++i) {
auto pos = param_repo.map.find(_function->param_name(i));
- ASSERT_TRUE(pos != param_repo.map.end());
+ REQUIRE(pos != param_repo.map.end());
bool allow_tampering = allow_mutable && pos->second.is_mutable;
if (!allow_tampering) {
- ASSERT_EQUAL(pos->second.value, spec_from_value(*_param_values[i]));
+ REQUIRE_EQ(pos->second.value, spec_from_value(*_param_values[i]));
}
}
}
@@ -195,8 +195,8 @@ EvalFixture::EvalFixture(const ValueBuilderFactory &factory,
_result(spec_from_value(_result_value))
{
auto result_type = ValueType::from_spec(_result.type());
- ASSERT_TRUE(!result_type.is_error());
- TEST_DO(detect_param_tampering(param_repo, allow_mutable));
+ REQUIRE(!result_type.is_error());
+ UNWIND_DO(detect_param_tampering(param_repo, allow_mutable));
}
size_t
@@ -212,7 +212,7 @@ EvalFixture::ref(const vespalib::string &expr, const ParamRepo &param_repo)
std::vector<TensorSpec> params;
for (size_t i = 0; i < fun->num_params(); ++i) {
auto pos = param_repo.map.find(fun->param_name(i));
- ASSERT_TRUE(pos != param_repo.map.end());
+ REQUIRE(pos != param_repo.map.end());
params.push_back(pos->second.value);
}
return ReferenceEvaluation::eval(*fun, params);
diff --git a/eval/src/vespa/eval/eval/test/eval_fixture.h b/eval/src/vespa/eval/eval/test/eval_fixture.h
index e99e6755317..c726fd4af94 100644
--- a/eval/src/vespa/eval/eval/test/eval_fixture.h
+++ b/eval/src/vespa/eval/eval/test/eval_fixture.h
@@ -13,7 +13,8 @@
#include <functional>
#include "gen_spec.h"
#include "cell_type_space.h"
-#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/vespalib/util/require.h>
+#include <vespa/vespalib/util/unwind_message.h>
namespace vespalib::eval::test {
@@ -140,8 +141,10 @@ public:
template <typename FunInfo>
static void verify(const vespalib::string &expr, const std::vector<FunInfo> &fun_info, CellTypeSpace cell_type_space) {
+
+ UNWIND_MSG("in verify(%s) with %zu FunInfo", expr.c_str(), fun_info.size());
auto fun = Function::parse(expr);
- ASSERT_EQUAL(fun->num_params(), cell_type_space.n());
+ REQUIRE_EQ(fun->num_params(), cell_type_space.n());
for (; cell_type_space.valid(); cell_type_space.next()) {
auto cell_types = cell_type_space.get();
EvalFixture::ParamRepo param_repo;
@@ -151,11 +154,11 @@ public:
EvalFixture fixture(prod_factory(), expr, param_repo, true, true);
EvalFixture slow_fixture(prod_factory(), expr, param_repo, false, false);
EvalFixture test_fixture(test_factory(), expr, param_repo, true, true);
- ASSERT_EQUAL(fixture.result(), EvalFixture::ref(expr, param_repo));
- ASSERT_EQUAL(fixture.result(), slow_fixture.result());
- ASSERT_EQUAL(fixture.result(), test_fixture.result());
+ REQUIRE_EQ(fixture.result(), EvalFixture::ref(expr, param_repo));
+ REQUIRE_EQ(fixture.result(), slow_fixture.result());
+ REQUIRE_EQ(fixture.result(), test_fixture.result());
auto info = fixture.find_all<typename FunInfo::LookFor>();
- ASSERT_EQUAL(info.size(), fun_info.size());
+ REQUIRE_EQ(info.size(), fun_info.size());
for (size_t i = 0; i < fun_info.size(); ++i) {
fixture.verify_callback<FunInfo>(fun_info[i], *info[i]);
}