summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-06-10 13:33:03 +0200
committerTor Egge <Tor.Egge@online.no>2024-06-10 13:33:03 +0200
commit371ec56089678ec01f16c2ae32789990325d1f09 (patch)
treedbbbe4972ddafd8ff604bbfa3e7903d96cd18221
parent1787c7f38682b4578bd2bcc2ecd7f23077d15b84 (diff)
Rewrite textutil unit test to gtest.
-rw-r--r--streamingvisitors/src/tests/textutil/CMakeLists.txt1
-rw-r--r--streamingvisitors/src/tests/textutil/textutil_test.cpp79
2 files changed, 30 insertions, 50 deletions
diff --git a/streamingvisitors/src/tests/textutil/CMakeLists.txt b/streamingvisitors/src/tests/textutil/CMakeLists.txt
index da99850e43e..877664ddfd6 100644
--- a/streamingvisitors/src/tests/textutil/CMakeLists.txt
+++ b/streamingvisitors/src/tests/textutil/CMakeLists.txt
@@ -4,5 +4,6 @@ vespa_add_executable(vsm_textutil_test_app TEST
textutil_test.cpp
DEPENDS
streamingvisitors
+ GTest::gtest
)
vespa_add_test(NAME vsm_textutil_test_app COMMAND vsm_textutil_test_app)
diff --git a/streamingvisitors/src/tests/textutil/textutil_test.cpp b/streamingvisitors/src/tests/textutil/textutil_test.cpp
index f7f340a2182..1dbabf1f0af 100644
--- a/streamingvisitors/src/tests/textutil/textutil_test.cpp
+++ b/streamingvisitors/src/tests/textutil/textutil_test.cpp
@@ -1,7 +1,7 @@
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/fastlib/text/normwordfolder.h>
+#include <vespa/vespalib/gtest/gtest.h>
#include <vespa/vsm/searcher/fold.h>
#include <vespa/vsm/searcher/futf8strchrfieldsearcher.h>
#include <vespa/vsm/searcher/utf8stringfieldsearcherbase.h>
@@ -23,9 +23,9 @@ using SizeV = Vector<size_t>;
using SFSB = UTF8StringFieldSearcherBase;
using FSFS = FUTF8StrChrFieldSearcher;
-class TextUtilTest : public vespalib::TestApp
+class TextUtilTest : public ::testing::Test
{
-private:
+protected:
ucs4_t getUTF8Char(const char * src);
template <typename BW, bool OFF>
void assertSkipSeparators(const char * input, size_t len, const UCS4V & expdstbuf, const SizeV & expoffsets);
@@ -38,23 +38,23 @@ private:
template <typename BW, bool OFF>
void testSkipSeparators();
- void testSkipSeparators();
- void testSeparatorCharacter();
- void testAnsiFold();
- void test_lfoldua();
-#ifdef __x86_64__
- void test_sse2_foldua();
-#endif
-public:
- int Main() override;
+ TextUtilTest();
+ ~TextUtilTest() override;
};
+TextUtilTest::TextUtilTest()
+ : ::testing::Test()
+{
+}
+
+TextUtilTest::~TextUtilTest() = default;
+
ucs4_t
TextUtilTest::getUTF8Char(const char * src)
{
ucs4_t retval = Fast_UnicodeUtil::GetUTF8Char(src);
- ASSERT_TRUE(retval != Fast_UnicodeUtil::_BadUTF8Char);
+ EXPECT_TRUE(retval != Fast_UnicodeUtil::_BadUTF8Char);
return retval;
}
@@ -68,12 +68,12 @@ TextUtilTest::assertSkipSeparators(const char * input, size_t len, const UCS4V &
UTF8StrChrFieldSearcher fs(0);
BW bw(dstbuf.get(), offsets.get());
size_t dstlen = fs.skipSeparators(srcbuf, len, bw);
- EXPECT_EQUAL(dstlen, expdstbuf.size());
+ EXPECT_EQ(dstlen, expdstbuf.size());
ASSERT_TRUE(dstlen == expdstbuf.size());
for (size_t i = 0; i < dstlen; ++i) {
- EXPECT_EQUAL(dstbuf[i], expdstbuf[i]);
+ EXPECT_EQ(dstbuf[i], expdstbuf[i]);
if (OFF) {
- EXPECT_EQUAL(offsets[i], expoffsets[i]);
+ EXPECT_EQ(offsets[i], expoffsets[i]);
}
}
}
@@ -83,7 +83,7 @@ TextUtilTest::assertAnsiFold(const std::string & toFold, const std::string & exp
{
char folded[256];
EXPECT_TRUE(FSFS::ansiFold(toFold.c_str(), toFold.size(), folded));
- EXPECT_EQUAL(std::string(folded, toFold.size()), exp);
+ EXPECT_EQ(std::string(folded, toFold.size()), exp);
}
void
@@ -91,7 +91,7 @@ TextUtilTest::assertAnsiFold(char c, char exp)
{
char folded;
EXPECT_TRUE(FSFS::ansiFold(&c, 1, &folded));
- EXPECT_EQUAL((int32_t)folded, (int32_t)exp);
+ EXPECT_EQ((int32_t)folded, (int32_t)exp);
}
#ifdef __x86_64__
@@ -103,8 +103,8 @@ TextUtilTest::assert_sse2_foldua(const std::string & toFold, size_t charFolded,
const unsigned char * toFoldOrg = reinterpret_cast<const unsigned char *>(toFold.c_str());
const unsigned char * retval =
sse2_foldua(toFoldOrg, toFold.size(), reinterpret_cast<unsigned char *>(folded + alignedStart));
- EXPECT_EQUAL((size_t)(retval - toFoldOrg), charFolded);
- EXPECT_EQUAL(std::string(folded + alignedStart, charFolded), exp);
+ EXPECT_EQ((size_t)(retval - toFoldOrg), charFolded);
+ EXPECT_EQ(std::string(folded + alignedStart, charFolded), exp);
}
void
@@ -115,9 +115,9 @@ TextUtilTest::assert_sse2_foldua(unsigned char c, unsigned char exp, size_t char
unsigned char folded[32];
size_t alignedStart = 0xF - (size_t(folded + 0xF) % 0x10);
const unsigned char * retval = sse2_foldua(toFold, 16, folded + alignedStart);
- EXPECT_EQUAL((size_t)(retval - toFold), charFolded);
+ EXPECT_EQ((size_t)(retval - toFold), charFolded);
for (size_t i = 0; i < charFolded; ++i) {
- EXPECT_EQUAL((int32_t)folded[i + alignedStart], (int32_t)exp);
+ EXPECT_EQ((int32_t)folded[i + alignedStart], (int32_t)exp);
}
}
#endif
@@ -145,8 +145,7 @@ TextUtilTest::testSkipSeparators()
SizeV().a(0).a(0).a(2).a(3).a(3));
}
-void
-TextUtilTest::testSkipSeparators()
+TEST_F(TextUtilTest, skip_separators)
{
Fast_NormalizeWordFolder::Setup(Fast_NormalizeWordFolder::DO_SHARP_S_SUBSTITUTION);
@@ -154,8 +153,7 @@ TextUtilTest::testSkipSeparators()
testSkipSeparators<SFSB::OffsetWrapper, true>();
}
-void
-TextUtilTest::testSeparatorCharacter()
+TEST_F(TextUtilTest, separator_character)
{
EXPECT_TRUE(SFSB::isSeparatorCharacter('\x00'));
EXPECT_TRUE(SFSB::isSeparatorCharacter('\x01'));
@@ -194,8 +192,7 @@ TextUtilTest::testSeparatorCharacter()
EXPECT_TRUE(! SFSB::isSeparatorCharacter('\x20')); // space
}
-void
-TextUtilTest::testAnsiFold()
+TEST_F(TextUtilTest, ansi_fold)
{
FieldSearcher::init();
assertAnsiFold("", "");
@@ -220,8 +217,7 @@ TextUtilTest::testAnsiFold()
}
}
-void
-TextUtilTest::test_lfoldua()
+TEST_F(TextUtilTest, lfoldua)
{
FieldSearcher::init();
char folded[256];
@@ -229,12 +225,11 @@ TextUtilTest::test_lfoldua()
const char * toFold = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
size_t len = strlen(toFold);
EXPECT_TRUE(FSFS::lfoldua(toFold, len, folded, alignedStart));
- EXPECT_EQUAL(std::string(folded + alignedStart, len), "abcdefghijklmnopqrstuvwxyz");
+ EXPECT_EQ(std::string(folded + alignedStart, len), "abcdefghijklmnopqrstuvwxyz");
}
#ifdef __x86_64__
-void
-TextUtilTest::test_sse2_foldua()
+TEST_F(TextUtilTest, sse2_foldua)
{
assert_sse2_foldua("", 0, "");
assert_sse2_foldua("ABCD", 0, "");
@@ -263,22 +258,6 @@ TextUtilTest::test_sse2_foldua()
}
#endif
-int
-TextUtilTest::Main()
-{
- TEST_INIT("textutil_test");
-
- testSkipSeparators();
- testSeparatorCharacter();
- testAnsiFold();
- test_lfoldua();
-#ifdef __x86_64__
- test_sse2_foldua();
-#endif
-
- TEST_DONE();
-}
-
}
-TEST_APPHOOK(vsm::TextUtilTest);
+GTEST_MAIN_RUN_ALL_TESTS()