aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeir Storli <geirst@yahooinc.com>2022-04-13 15:17:33 +0200
committerGitHub <noreply@github.com>2022-04-13 15:17:33 +0200
commitdd38333faaeaeeccaef5e08fbf40be6feb2a67b4 (patch)
tree0b896fbbeaef01f9f3f5664b7c0e9ade401e7255
parent06e81ffbe9a59cbb09ec77702c1880e4eb55d7bc (diff)
parentdf1cf5402a7f237db9a80ad231286087488f5f6b (diff)
Merge pull request #22116 from vespa-engine/toregge/use-google-test-for-extendable-attribute-unit-test
Use google test for extendable attribute unit test.
-rw-r--r--searchlib/src/tests/attribute/extendattributes/CMakeLists.txt4
-rw-r--r--searchlib/src/tests/attribute/extendattributes/extendattribute.cpp175
-rwxr-xr-xsearchlib/src/tests/attribute/extendattributes/extendattribute_test.sh5
3 files changed, 101 insertions, 83 deletions
diff --git a/searchlib/src/tests/attribute/extendattributes/CMakeLists.txt b/searchlib/src/tests/attribute/extendattributes/CMakeLists.txt
index e989d317b9c..f733f3d0091 100644
--- a/searchlib/src/tests/attribute/extendattributes/CMakeLists.txt
+++ b/searchlib/src/tests/attribute/extendattributes/CMakeLists.txt
@@ -4,6 +4,6 @@ vespa_add_executable(searchlib_extendattribute_test_app TEST
extendattribute.cpp
DEPENDS
searchlib
+ GTest::GTest
)
-vespa_add_test(NAME searchlib_extendattribute_test_app COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/extendattribute_test.sh
- DEPENDS searchlib_extendattribute_test_app)
+vespa_add_test(NAME searchlib_extendattribute_test_app COMMAND searchlib_extendattribute_test_app)
diff --git a/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp b/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp
index 6707a7c6edf..35dd0351f34 100644
--- a/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp
+++ b/searchlib/src/tests/attribute/extendattributes/extendattribute.cpp
@@ -1,58 +1,55 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/log/log.h>
-LOG_SETUP("extendattribute_test");
-#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/searchlib/attribute/extendableattributes.h>
namespace search {
-class ExtendAttributeTest : public vespalib::TestApp
+class ExtendAttributeTest : public ::testing::Test
{
-private:
+protected:
+ ExtendAttributeTest() = default;
+ ~ExtendAttributeTest() override = default;
template <typename Attribute>
void testExtendInteger(Attribute & attr);
template <typename Attribute>
void testExtendFloat(Attribute & attr);
template <typename Attribute>
void testExtendString(Attribute & attr);
-
-public:
- int Main() override;
};
template <typename Attribute>
void ExtendAttributeTest::testExtendInteger(Attribute & attr)
{
uint32_t docId(0);
- EXPECT_EQUAL(attr.getNumDocs(), 0u);
+ EXPECT_EQ(attr.getNumDocs(), 0u);
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 0u);
- EXPECT_EQUAL(attr.getNumDocs(), 1u);
+ EXPECT_EQ(docId, 0u);
+ EXPECT_EQ(attr.getNumDocs(), 1u);
attr.add(1, 10);
- EXPECT_EQUAL(attr.getInt(0), 1);
+ EXPECT_EQ(attr.getInt(0), 1);
attr.add(2, 20);
- EXPECT_EQUAL(attr.getInt(0), attr.hasMultiValue() ? 1 : 2);
+ EXPECT_EQ(attr.getInt(0), attr.hasMultiValue() ? 1 : 2);
if (attr.hasMultiValue()) {
AttributeVector::WeightedInt v[2];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
- EXPECT_EQUAL(v[0].getValue(), 1);
- EXPECT_EQUAL(v[1].getValue(), 2);
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
+ EXPECT_EQ(v[0].getValue(), 1);
+ EXPECT_EQ(v[1].getValue(), 2);
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 10);
- EXPECT_EQUAL(v[1].getWeight(), 20);
+ EXPECT_EQ(v[0].getWeight(), 10);
+ EXPECT_EQ(v[1].getWeight(), 20);
}
}
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 1u);
- EXPECT_EQUAL(attr.getNumDocs(), 2u);
+ EXPECT_EQ(docId, 1u);
+ EXPECT_EQ(attr.getNumDocs(), 2u);
attr.add(3, 30);
- EXPECT_EQUAL(attr.getInt(1), 3);
+ EXPECT_EQ(attr.getInt(1), 3);
if (attr.hasMultiValue()) {
AttributeVector::WeightedInt v[1];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
- EXPECT_EQUAL(v[0].getValue(), 3);
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
+ EXPECT_EQ(v[0].getValue(), 3);
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 30);
+ EXPECT_EQ(v[0].getWeight(), 30);
}
}
}
@@ -61,36 +58,36 @@ template <typename Attribute>
void ExtendAttributeTest::testExtendFloat(Attribute & attr)
{
uint32_t docId(0);
- EXPECT_EQUAL(attr.getNumDocs(), 0u);
+ EXPECT_EQ(attr.getNumDocs(), 0u);
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 0u);
- EXPECT_EQUAL(attr.getNumDocs(), 1u);
+ EXPECT_EQ(docId, 0u);
+ EXPECT_EQ(attr.getNumDocs(), 1u);
attr.add(1.7, 10);
- EXPECT_EQUAL(attr.getInt(0), 1);
- EXPECT_EQUAL(attr.getFloat(0), 1.7);
+ EXPECT_EQ(attr.getInt(0), 1);
+ EXPECT_EQ(attr.getFloat(0), 1.7);
attr.add(2.3, 20);
- EXPECT_EQUAL(attr.getFloat(0), attr.hasMultiValue() ? 1.7 : 2.3);
+ EXPECT_EQ(attr.getFloat(0), attr.hasMultiValue() ? 1.7 : 2.3);
if (attr.hasMultiValue()) {
AttributeVector::WeightedFloat v[2];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
- EXPECT_EQUAL(v[0].getValue(), 1.7);
- EXPECT_EQUAL(v[1].getValue(), 2.3);
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
+ EXPECT_EQ(v[0].getValue(), 1.7);
+ EXPECT_EQ(v[1].getValue(), 2.3);
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 10);
- EXPECT_EQUAL(v[1].getWeight(), 20);
+ EXPECT_EQ(v[0].getWeight(), 10);
+ EXPECT_EQ(v[1].getWeight(), 20);
}
}
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 1u);
- EXPECT_EQUAL(attr.getNumDocs(), 2u);
+ EXPECT_EQ(docId, 1u);
+ EXPECT_EQ(attr.getNumDocs(), 2u);
attr.add(3.6, 30);
- EXPECT_EQUAL(attr.getFloat(1), 3.6);
+ EXPECT_EQ(attr.getFloat(1), 3.6);
if (attr.hasMultiValue()) {
AttributeVector::WeightedFloat v[1];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
- EXPECT_EQUAL(v[0].getValue(), 3.6);
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
+ EXPECT_EQ(v[0].getValue(), 3.6);
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 30);
+ EXPECT_EQ(v[0].getWeight(), 30);
}
}
}
@@ -99,77 +96,103 @@ template <typename Attribute>
void ExtendAttributeTest::testExtendString(Attribute & attr)
{
uint32_t docId(0);
- EXPECT_EQUAL(attr.getNumDocs(), 0u);
+ EXPECT_EQ(attr.getNumDocs(), 0u);
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 0u);
- EXPECT_EQUAL(attr.getNumDocs(), 1u);
+ EXPECT_EQ(docId, 0u);
+ EXPECT_EQ(attr.getNumDocs(), 1u);
attr.add("1.7", 10);
- EXPECT_EQUAL(std::string(attr.getString(0, NULL, 0)), "1.7");
+ EXPECT_EQ(std::string(attr.getString(0, NULL, 0)), "1.7");
attr.add("2.3", 20);
- EXPECT_EQUAL(std::string(attr.getString(0, NULL, 0)), attr.hasMultiValue() ? "1.7" : "2.3");
+ EXPECT_EQ(std::string(attr.getString(0, NULL, 0)), attr.hasMultiValue() ? "1.7" : "2.3");
if (attr.hasMultiValue()) {
AttributeVector::WeightedString v[2];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
- EXPECT_EQUAL(v[0].getValue(), "1.7");
- EXPECT_EQUAL(v[1].getValue(), "2.3");
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(0, v, 2), 2u);
+ EXPECT_EQ(v[0].getValue(), "1.7");
+ EXPECT_EQ(v[1].getValue(), "2.3");
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 10);
- EXPECT_EQUAL(v[1].getWeight(), 20);
+ EXPECT_EQ(v[0].getWeight(), 10);
+ EXPECT_EQ(v[1].getWeight(), 20);
}
}
attr.addDoc(docId);
- EXPECT_EQUAL(docId, 1u);
- EXPECT_EQUAL(attr.getNumDocs(), 2u);
+ EXPECT_EQ(docId, 1u);
+ EXPECT_EQ(attr.getNumDocs(), 2u);
attr.add("3.6", 30);
- EXPECT_EQUAL(std::string(attr.getString(1, NULL, 0)), "3.6");
+ EXPECT_EQ(std::string(attr.getString(1, NULL, 0)), "3.6");
if (attr.hasMultiValue()) {
AttributeVector::WeightedString v[1];
- EXPECT_EQUAL((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
- EXPECT_EQUAL(v[0].getValue(), "3.6");
+ EXPECT_EQ((static_cast<AttributeVector &>(attr)).get(1, v, 1), 1u);
+ EXPECT_EQ(v[0].getValue(), "3.6");
if (attr.hasWeightedSetType()) {
- EXPECT_EQUAL(v[0].getWeight(), 30);
+ EXPECT_EQ(v[0].getWeight(), 30);
}
}
}
-int
-ExtendAttributeTest::Main()
-{
- TEST_INIT("extendattribute_test");
+TEST_F(ExtendAttributeTest, single_integer_ext_attribute)
+{
SingleIntegerExtAttribute siattr("si1");
- MultiIntegerExtAttribute miattr("mi1");
- WeightedSetIntegerExtAttribute wsiattr("wsi1");
EXPECT_TRUE( ! siattr.hasMultiValue() );
- EXPECT_TRUE( miattr.hasMultiValue() );
- EXPECT_TRUE( wsiattr.hasWeightedSetType() );
testExtendInteger(siattr);
+}
+
+TEST_F(ExtendAttributeTest, array_integer_ext_attribute)
+{
+ MultiIntegerExtAttribute miattr("mi1");
+ EXPECT_TRUE( miattr.hasMultiValue() );
testExtendInteger(miattr);
+}
+
+TEST_F(ExtendAttributeTest, weighted_set_integer_ext_attribute)
+{
+ WeightedSetIntegerExtAttribute wsiattr("wsi1");
+ EXPECT_TRUE( wsiattr.hasWeightedSetType() );
testExtendInteger(wsiattr);
+}
+TEST_F(ExtendAttributeTest, single_float_ext_attribute)
+{
SingleFloatExtAttribute sdattr("sd1");
- MultiFloatExtAttribute mdattr("md1");
- WeightedSetFloatExtAttribute wsdattr("wsd1");
EXPECT_TRUE( ! sdattr.hasMultiValue() );
- EXPECT_TRUE( mdattr.hasMultiValue() );
- EXPECT_TRUE( wsdattr.hasWeightedSetType() );
testExtendFloat(sdattr);
+}
+
+TEST_F(ExtendAttributeTest, array_float_ext_attribute)
+{
+ MultiFloatExtAttribute mdattr("md1");
+ EXPECT_TRUE( mdattr.hasMultiValue() );
testExtendFloat(mdattr);
+}
+
+TEST_F(ExtendAttributeTest, weighted_set_float_ext_attribute)
+{
+ WeightedSetFloatExtAttribute wsdattr("wsd1");
+ EXPECT_TRUE( wsdattr.hasWeightedSetType() );
testExtendFloat(wsdattr);
+}
+TEST_F(ExtendAttributeTest, single_string_ext_attribute)
+{
SingleStringExtAttribute ssattr("ss1");
- MultiStringExtAttribute msattr("ms1");
- WeightedSetStringExtAttribute wssattr("wss1");
EXPECT_TRUE( ! ssattr.hasMultiValue() );
- EXPECT_TRUE( msattr.hasMultiValue() );
- EXPECT_TRUE( wssattr.hasWeightedSetType() );
testExtendString(ssattr);
+}
+
+TEST_F(ExtendAttributeTest, array_string_ext_attribute)
+{
+ MultiStringExtAttribute msattr("ms1");
+ EXPECT_TRUE( msattr.hasMultiValue() );
testExtendString(msattr);
- testExtendString(wssattr);
+}
- TEST_DONE();
+TEST_F(ExtendAttributeTest, weighted_set_string_ext_attribute)
+{
+ WeightedSetStringExtAttribute wssattr("wss1");
+ EXPECT_TRUE( wssattr.hasWeightedSetType() );
+ testExtendString(wssattr);
}
}
-TEST_APPHOOK(search::ExtendAttributeTest);
+GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/searchlib/src/tests/attribute/extendattributes/extendattribute_test.sh b/searchlib/src/tests/attribute/extendattributes/extendattribute_test.sh
deleted file mode 100755
index 250725ac052..00000000000
--- a/searchlib/src/tests/attribute/extendattributes/extendattribute_test.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-# Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-set -e
-$VALGRIND ./searchlib_extendattribute_test_app
-rm -rf *.dat