diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2021-03-03 15:16:46 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-03 15:16:46 +0100 |
commit | b9a60a5a2901cdd103ba904f50c7fee4a5adb588 (patch) | |
tree | 30044a610c7c0a6b5e5254317c7826c44ac6e318 | |
parent | 171ba1e286e9ad00b2fac50d0f94aec5887f7afa (diff) | |
parent | 93f936c9e3531d2f2dc63f2262cd8069097238a8 (diff) |
Merge pull request #16764 from vespa-engine/arnej/use-list-cell-types
use CellTypeUtils::list_types to loop over possible cell types in tests
13 files changed, 47 insertions, 69 deletions
diff --git a/eval/src/tests/eval/fast_value/fast_value_test.cpp b/eval/src/tests/eval/fast_value/fast_value_test.cpp index bb268a386ac..70c534b2010 100644 --- a/eval/src/tests/eval/fast_value/fast_value_test.cpp +++ b/eval/src/tests/eval/fast_value/fast_value_test.cpp @@ -159,9 +159,8 @@ const std::vector<GenSpec> layouts = { TEST(FastValueBuilderFactoryTest, fast_values_can_be_copied) { auto factory = FastValueBuilderFactory::get(); for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, factory); std::unique_ptr<Value> copy = factory.copy(*value); TensorSpec actual = spec_from_value(*copy); diff --git a/eval/src/tests/eval/simple_value/simple_value_test.cpp b/eval/src/tests/eval/simple_value/simple_value_test.cpp index 1f0df71d306..af3b6e9bc43 100644 --- a/eval/src/tests/eval/simple_value/simple_value_test.cpp +++ b/eval/src/tests/eval/simple_value/simple_value_test.cpp @@ -67,9 +67,8 @@ TensorSpec simple_value_join(const TensorSpec &a, const TensorSpec &b, join_fun_ TEST(SimpleValueTest, simple_values_can_be_converted_from_and_to_tensor_spec) { for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, SimpleValueBuilderFactory::get()); TensorSpec actual = spec_from_value(*value); EXPECT_EQ(actual, expect); @@ -79,9 +78,8 @@ TEST(SimpleValueTest, simple_values_can_be_converted_from_and_to_tensor_spec) { TEST(SimpleValueTest, simple_values_can_be_copied) { for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, SimpleValueBuilderFactory::get()); std::unique_ptr<Value> copy = SimpleValueBuilderFactory::get().copy(*value); TensorSpec actual = spec_from_value(*copy); @@ -131,12 +129,10 @@ TEST(SimpleValueTest, new_generic_join_works_for_simple_values) { for (size_t i = 0; i < join_layouts.size(); i += 2) { const auto l = join_layouts[i].cpy().seq(N_16ths); const auto r = join_layouts[i + 1].cpy().seq(N_16ths); - for (TensorSpec lhs : { l.cpy().cells_float(), - l.cpy().cells_double() }) - { - for (TensorSpec rhs : { r.cpy().cells_float(), - r.cpy().cells_double() }) - { + for (CellType lct : CellTypeUtils::list_types()) { + TensorSpec lhs = l.cpy().cells(lct); + for (CellType rct : CellTypeUtils::list_types()) { + TensorSpec rhs = r.cpy().cells(rct); for (auto fun: {operation::Add::f, operation::Sub::f, operation::Mul::f, operation::Div::f}) { SCOPED_TRACE(fmt("\n===\nLHS: %s\nRHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str())); auto expect = ReferenceOperations::join(lhs, rhs, fun); diff --git a/eval/src/tests/eval/value_codec/value_codec_test.cpp b/eval/src/tests/eval/value_codec/value_codec_test.cpp index 30de76abb7d..434ad0b2a53 100644 --- a/eval/src/tests/eval/value_codec/value_codec_test.cpp +++ b/eval/src/tests/eval/value_codec/value_codec_test.cpp @@ -32,9 +32,8 @@ const std::vector<GenSpec> layouts = { TEST(ValueCodecTest, simple_values_can_be_converted_from_and_to_tensor_spec) { for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, factory); TensorSpec actual = spec_from_value(*value); EXPECT_EQ(actual, expect); diff --git a/eval/src/tests/instruction/generic_cell_cast/generic_cell_cast_test.cpp b/eval/src/tests/instruction/generic_cell_cast/generic_cell_cast_test.cpp index 6a0b63bd562..06b74eff4d5 100644 --- a/eval/src/tests/instruction/generic_cell_cast/generic_cell_cast_test.cpp +++ b/eval/src/tests/instruction/generic_cell_cast/generic_cell_cast_test.cpp @@ -44,13 +44,12 @@ TensorSpec perform_generic_cell_cast(const TensorSpec &a, CellType to, const Val void test_generic_cell_cast_with(const ValueBuilderFactory &factory) { for (const auto &layout : layouts) { - for (TensorSpec lhs : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { - for (CellType ct : { CellType::FLOAT, CellType::DOUBLE }) { + for (CellType in_type: CellTypeUtils::list_types()) { + for (CellType out_type: CellTypeUtils::list_types()) { + TensorSpec lhs = layout.cpy().cells(in_type); SCOPED_TRACE(fmt("\n===\nLHS: %s\n===\n", lhs.to_string().c_str())); - auto expect = ReferenceOperations::cell_cast(lhs, ct); - auto actual = perform_generic_cell_cast(lhs, ct, factory); + auto expect = ReferenceOperations::cell_cast(lhs, out_type); + auto actual = perform_generic_cell_cast(lhs, out_type, factory); EXPECT_EQ(actual, expect); } } diff --git a/eval/src/tests/instruction/generic_concat/generic_concat_test.cpp b/eval/src/tests/instruction/generic_concat/generic_concat_test.cpp index 09ac2e413c1..8bf6751cd73 100644 --- a/eval/src/tests/instruction/generic_concat/generic_concat_test.cpp +++ b/eval/src/tests/instruction/generic_concat/generic_concat_test.cpp @@ -78,12 +78,10 @@ void test_generic_concat_with(const ValueBuilderFactory &factory) { for (size_t i = 0; i < concat_layouts.size(); i += 2) { const auto l = concat_layouts[i]; const auto r = concat_layouts[i+1].cpy().seq(N_16ths); - for (TensorSpec lhs : { l.cpy().cells_float(), - l.cpy().cells_double() }) - { - for (TensorSpec rhs : { r.cpy().cells_float(), - r.cpy().cells_double() }) - { + for (CellType lct : CellTypeUtils::list_types()) { + TensorSpec lhs = l.cpy().cells(lct); + for (CellType rct : CellTypeUtils::list_types()) { + TensorSpec rhs = r.cpy().cells(rct); SCOPED_TRACE(fmt("\n===\nin LHS: %s\nin RHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str())); auto actual = perform_generic_concat(lhs, rhs, "y", factory); auto expect = ReferenceOperations::concat(lhs, rhs, "y"); diff --git a/eval/src/tests/instruction/generic_create/generic_create_test.cpp b/eval/src/tests/instruction/generic_create/generic_create_test.cpp index 3677159b64e..c387dad780e 100644 --- a/eval/src/tests/instruction/generic_create/generic_create_test.cpp +++ b/eval/src/tests/instruction/generic_create/generic_create_test.cpp @@ -91,9 +91,8 @@ TensorSpec perform_generic_create(const TensorSpec &a, const ValueBuilderFactory void test_generic_create_with(const ValueBuilderFactory &factory) { for (const auto &layout : create_layouts) { - for (TensorSpec full : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec full = layout.cpy().cells(ct); auto actual = perform_generic_create(full, factory); auto expect = reference_create(full).normalize(); EXPECT_EQ(actual, expect); diff --git a/eval/src/tests/instruction/generic_join/generic_join_test.cpp b/eval/src/tests/instruction/generic_join/generic_join_test.cpp index 181f44d0f2e..2f619bcaa54 100644 --- a/eval/src/tests/instruction/generic_join/generic_join_test.cpp +++ b/eval/src/tests/instruction/generic_join/generic_join_test.cpp @@ -107,12 +107,10 @@ TEST(GenericJoinTest, generic_join_works_for_simple_and_fast_values) { for (size_t i = 0; i < join_layouts.size(); i += 2) { const auto &l = join_layouts[i]; const auto &r = join_layouts[i+1]; - for (TensorSpec lhs : { l.cpy().cells_float(), - l.cpy().cells_double() }) - { - for (TensorSpec rhs : { r.cpy().cells_float(), - r.cpy().cells_double() }) - { + for (CellType lct : CellTypeUtils::list_types()) { + TensorSpec lhs = l.cpy().cells(lct); + for (CellType rct : CellTypeUtils::list_types()) { + TensorSpec rhs = r.cpy().cells(rct); for (auto fun: {operation::Add::f, operation::Sub::f, operation::Mul::f, operation::Div::f}) { SCOPED_TRACE(fmt("\n===\nLHS: %s\nRHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str())); auto expect = ReferenceOperations::join(lhs, rhs, fun); diff --git a/eval/src/tests/instruction/generic_map/generic_map_test.cpp b/eval/src/tests/instruction/generic_map/generic_map_test.cpp index 9f30efe135e..cf4b09914c3 100644 --- a/eval/src/tests/instruction/generic_map/generic_map_test.cpp +++ b/eval/src/tests/instruction/generic_map/generic_map_test.cpp @@ -43,9 +43,8 @@ TensorSpec perform_generic_map(const TensorSpec &a, map_fun_t func, const ValueB void test_generic_map_with(const ValueBuilderFactory &factory) { for (const auto &layout : map_layouts) { - for (TensorSpec lhs : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec lhs = layout.cpy().cells(ct); for (auto func : {operation::Floor::f, operation::Fabs::f, operation::Square::f, operation::Inv::f}) { SCOPED_TRACE(fmt("\n===\nLHS: %s\n===\n", lhs.to_string().c_str())); auto expect = ReferenceOperations::map(lhs, func); diff --git a/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp b/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp index bb14d869440..025ab7f857e 100644 --- a/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp +++ b/eval/src/tests/instruction/generic_merge/generic_merge_test.cpp @@ -50,12 +50,10 @@ void test_generic_merge_with(const ValueBuilderFactory &factory) { for (size_t i = 0; i < merge_layouts.size(); i += 2) { const auto l = merge_layouts[i]; const auto r = merge_layouts[i+1].cpy().seq(N_16ths); - for (TensorSpec lhs : { l.cpy().cells_float(), - l.cpy().cells_double() }) - { - for (TensorSpec rhs : { r.cpy().cells_float(), - r.cpy().cells_double() }) - { + for (CellType lct : CellTypeUtils::list_types()) { + TensorSpec lhs = l.cpy().cells(lct); + for (CellType rct : CellTypeUtils::list_types()) { + TensorSpec rhs = r.cpy().cells(rct); SCOPED_TRACE(fmt("\n===\nLHS: %s\nRHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str())); for (auto fun: {operation::Add::f, operation::Mul::f, operation::Sub::f, operation::Max::f}) { auto expect = ReferenceOperations::merge(lhs, rhs, fun); diff --git a/eval/src/tests/instruction/generic_peek/generic_peek_test.cpp b/eval/src/tests/instruction/generic_peek/generic_peek_test.cpp index cafaf5837ec..972e763f018 100644 --- a/eval/src/tests/instruction/generic_peek/generic_peek_test.cpp +++ b/eval/src/tests/instruction/generic_peek/generic_peek_test.cpp @@ -194,9 +194,8 @@ void fill_dims_and_check(const TensorSpec &input, void test_generic_peek_with(const ValueBuilderFactory &factory) { for (const auto &layout : peek_layouts) { - for (TensorSpec input : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec input = layout.cpy().cells(ct); ValueType input_type = ValueType::from_spec(input.type()); const auto &dims = input_type.dimensions(); PeekSpec spec; diff --git a/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp b/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp index 95236d15299..8eb7b5bd057 100644 --- a/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp +++ b/eval/src/tests/instruction/generic_reduce/generic_reduce_test.cpp @@ -70,9 +70,8 @@ TEST(GenericReduceTest, sparse_reduce_plan_can_be_created) { void test_generic_reduce_with(const ValueBuilderFactory &factory) { for (const auto &layout: layouts) { - for (TensorSpec input : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec input = layout.cpy().cells(ct); SCOPED_TRACE(fmt("tensor type: %s, num_cells: %zu", input.type().c_str(), input.cells().size())); for (Aggr aggr: {Aggr::SUM, Aggr::AVG, Aggr::MIN, Aggr::MAX}) { SCOPED_TRACE(fmt("aggregator: %s", AggrNames::name_of(aggr)->c_str())); diff --git a/eval/src/tests/instruction/generic_rename/generic_rename_test.cpp b/eval/src/tests/instruction/generic_rename/generic_rename_test.cpp index 9c17dce972f..7b67f1bbd22 100644 --- a/eval/src/tests/instruction/generic_rename/generic_rename_test.cpp +++ b/eval/src/tests/instruction/generic_rename/generic_rename_test.cpp @@ -110,9 +110,8 @@ TensorSpec perform_generic_rename(const TensorSpec &a, void test_generic_rename_with(const ValueBuilderFactory &factory) { for (const auto &layout : rename_layouts) { - for (TensorSpec lhs : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec lhs = layout.cpy().cells(ct); ValueType lhs_type = ValueType::from_spec(lhs.type()); for (const auto & from_to : rename_from_to) { ValueType renamed_type = lhs_type.rename(from_to.from, from_to.to); diff --git a/eval/src/tests/streamed/value/streamed_value_test.cpp b/eval/src/tests/streamed/value/streamed_value_test.cpp index 44c30d226bd..e5f4088d908 100644 --- a/eval/src/tests/streamed/value/streamed_value_test.cpp +++ b/eval/src/tests/streamed/value/streamed_value_test.cpp @@ -67,9 +67,8 @@ TensorSpec streamed_value_join(const TensorSpec &a, const TensorSpec &b, join_fu TEST(StreamedValueTest, streamed_values_can_be_converted_from_and_to_tensor_spec) { for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, StreamedValueBuilderFactory::get()); TensorSpec actual = spec_from_value(*value); EXPECT_EQ(actual, expect); @@ -79,9 +78,8 @@ TEST(StreamedValueTest, streamed_values_can_be_converted_from_and_to_tensor_spec TEST(StreamedValueTest, streamed_values_can_be_copied) { for (const auto &layout: layouts) { - for (TensorSpec expect : { layout.cpy().cells_float(), - layout.cpy().cells_double() }) - { + for (CellType ct : CellTypeUtils::list_types()) { + TensorSpec expect = layout.cpy().cells(ct); std::unique_ptr<Value> value = value_from_spec(expect, StreamedValueBuilderFactory::get()); std::unique_ptr<Value> copy = StreamedValueBuilderFactory::get().copy(*value); TensorSpec actual = spec_from_value(*copy); @@ -131,12 +129,10 @@ TEST(StreamedValueTest, new_generic_join_works_for_streamed_values) { for (size_t i = 0; i < join_layouts.size(); i += 2) { const auto l = join_layouts[i].cpy().seq(N_16ths); const auto r = join_layouts[i + 1].cpy().seq(N_16ths); - for (TensorSpec lhs : { l.cpy().cells_float(), - l.cpy().cells_double() }) - { - for (TensorSpec rhs : { r.cpy().cells_float(), - r.cpy().cells_double() }) - { + for (CellType lct : CellTypeUtils::list_types()) { + TensorSpec lhs = l.cpy().cells(lct); + for (CellType rct : CellTypeUtils::list_types()) { + TensorSpec rhs = r.cpy().cells(rct); for (auto fun: {operation::Add::f, operation::Sub::f, operation::Mul::f, operation::Max::f}) { SCOPED_TRACE(fmt("\n===\nLHS: %s\nRHS: %s\n===\n", lhs.to_string().c_str(), rhs.to_string().c_str())); auto expect = ReferenceOperations::join(lhs, rhs, fun); |