diff options
Diffstat (limited to 'vespalib')
-rw-r--r-- | vespalib/src/tests/array/CMakeLists.txt | 1 | ||||
-rw-r--r-- | vespalib/src/tests/array/sort_benchmark.cpp | 46 | ||||
-rw-r--r-- | vespalib/src/tests/bits/CMakeLists.txt | 1 | ||||
-rw-r--r-- | vespalib/src/tests/bits/bits_test.cpp | 37 | ||||
-rw-r--r-- | vespalib/src/tests/btree/CMakeLists.txt | 1 | ||||
-rw-r--r-- | vespalib/src/tests/btree/frozenbtree_test.cpp | 40 | ||||
-rw-r--r-- | vespalib/src/tests/compress/CMakeLists.txt | 1 | ||||
-rw-r--r-- | vespalib/src/tests/compress/compress_test.cpp | 64 |
8 files changed, 93 insertions, 98 deletions
diff --git a/vespalib/src/tests/array/CMakeLists.txt b/vespalib/src/tests/array/CMakeLists.txt index 3f08aa07b4d..11e81cc42ce 100644 --- a/vespalib/src/tests/array/CMakeLists.txt +++ b/vespalib/src/tests/array/CMakeLists.txt @@ -11,5 +11,6 @@ vespa_add_executable(vespalib_sort_benchmark_app sort_benchmark.cpp DEPENDS vespalib + GTest::gtest ) vespa_add_test(NAME vespalib_sort_benchmark_app COMMAND vespalib_sort_benchmark_app BENCHMARK) diff --git a/vespalib/src/tests/array/sort_benchmark.cpp b/vespalib/src/tests/array/sort_benchmark.cpp index ba95c663332..db5c3c80f5f 100644 --- a/vespalib/src/tests/array/sort_benchmark.cpp +++ b/vespalib/src/tests/array/sort_benchmark.cpp @@ -1,6 +1,6 @@ // 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/vespalib/util/rusage.h> +#include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/util/array.hpp> #include <csignal> #include <algorithm> @@ -10,19 +10,32 @@ LOG_SETUP("sort_benchmark"); using namespace vespalib; -class Test : public TestApp +class SortBenchmark : public ::testing::Test { + int _argc; + char** _argv; public: -private: + SortBenchmark(int argc, char **argv); + ~SortBenchmark() override; + void TestBody() override; +protected: template<typename T> vespalib::Array<T> create(size_t count); template<typename T> void sortDirect(size_t count); template<typename T> void sortInDirect(size_t count); - int Main() override; }; +SortBenchmark::SortBenchmark(int argc, char** argv) + : testing::Test(), + _argc(argc), + _argv(argv) +{ +} + +SortBenchmark::~SortBenchmark() = default; + template<size_t N> class TT { @@ -46,7 +59,7 @@ private: template<typename T> vespalib::Array<T> -Test::create(size_t count) +SortBenchmark::create(size_t count) { vespalib::Array<T> v; v.reserve(count); @@ -58,7 +71,7 @@ Test::create(size_t count) } template<typename T> -void Test::sortDirect(size_t count) +void SortBenchmark::sortDirect(size_t count) { vespalib::Array<T> v(create<T>(count)); LOG(info, "Running sortDirect with %ld count and payload of %ld", v.size(), sizeof(T)); @@ -69,7 +82,7 @@ void Test::sortDirect(size_t count) } template<typename T> -void Test::sortInDirect(size_t count) +void SortBenchmark::sortInDirect(size_t count) { vespalib::Array<T> k(create<T>(count)); LOG(info, "Running sortInDirect with %ld count and payload of %ld", k.size(), sizeof(T)); @@ -84,8 +97,8 @@ void Test::sortInDirect(size_t count) } } -int -Test::Main() +void +SortBenchmark::TestBody() { std::string type("sortdirect"); size_t count = 1000000; @@ -99,8 +112,7 @@ Test::Main() if (_argc > 3) { payLoad = strtol(_argv[3], NULL, 0); } - TEST_INIT("sort_benchmark"); - steady_time start(steady_clock::now()); + steady_time start(steady_clock::now()); if (payLoad < 8) { using T = TT<8>; if (type == "sortdirect") { @@ -176,9 +188,13 @@ Test::Main() } } LOG(info, "rusage = {\n%s\n}", vespalib::RUsage::createSelf(start).toString().c_str()); - ASSERT_EQUAL(0, kill(0, SIGPROF)); - TEST_DONE(); + ASSERT_EQ(0, kill(0, SIGPROF)); } -TEST_APPHOOK(Test); - +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + ::testing::RegisterTest("SortBenchmark", "benchmark", nullptr, "", + __FILE__, __LINE__, + [=]() -> SortBenchmark* { return new SortBenchmark(argc, argv); }); + return RUN_ALL_TESTS(); +} diff --git a/vespalib/src/tests/bits/CMakeLists.txt b/vespalib/src/tests/bits/CMakeLists.txt index 71a977a295a..3ba0c6afc1c 100644 --- a/vespalib/src/tests/bits/CMakeLists.txt +++ b/vespalib/src/tests/bits/CMakeLists.txt @@ -4,5 +4,6 @@ vespa_add_executable(vespalib_bits_test_app TEST bits_test.cpp DEPENDS vespalib + GTest::gtest ) vespa_add_test(NAME vespalib_bits_test_app COMMAND vespalib_bits_test_app) diff --git a/vespalib/src/tests/bits/bits_test.cpp b/vespalib/src/tests/bits/bits_test.cpp index 6341477c2a7..6b01b2cd63a 100644 --- a/vespalib/src/tests/bits/bits_test.cpp +++ b/vespalib/src/tests/bits/bits_test.cpp @@ -1,23 +1,25 @@ // 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/vespalib/util/bits.h> +#include <vespa/vespalib/gtest/gtest.h> using namespace vespalib; -class Test : public TestApp +class BitsTest : public ::testing::Test { -public: - int Main() override; +protected: + BitsTest(); + ~BitsTest() override; template <typename T> void testFixed(const T * v, size_t sz, const T * exp); void testBuffer(); }; -int -Test::Main() +BitsTest::BitsTest() = default; +BitsTest::~BitsTest() = default; + +TEST_F(BitsTest, test_bits) { - TEST_INIT("bits_test"); uint8_t u8[5] = { 0, 0x1, 0x7f, 0x87, 0xff }; uint8_t exp8[5] = { 0, 0x80, 0xfe, 0xe1, 0xff }; testFixed(u8, sizeof(u8)/sizeof(u8[0]), exp8); @@ -31,29 +33,28 @@ Test::Main() uint64_t exp64[5] = { 0, 0x8000000000000000, 0xfe00000000000000, 0xe100000000000000, 0xff00000000000000 }; testFixed(u64, sizeof(u64)/sizeof(u64[0]), exp64); testBuffer(); - TEST_DONE(); } template <typename T> -void Test::testFixed(const T * v, size_t sz, const T * exp) +void BitsTest::testFixed(const T * v, size_t sz, const T * exp) { - EXPECT_EQUAL(0u, Bits::reverse(static_cast<T>(0))); - EXPECT_EQUAL(1ul << (sizeof(T)*8 - 1), Bits::reverse(static_cast<T>(1))); - EXPECT_EQUAL(static_cast<T>(-1), Bits::reverse(static_cast<T>(-1))); + EXPECT_EQ(0u, Bits::reverse(static_cast<T>(0))); + EXPECT_EQ(1ul << (sizeof(T)*8 - 1), Bits::reverse(static_cast<T>(1))); + EXPECT_EQ(static_cast<T>(-1), Bits::reverse(static_cast<T>(-1))); for (size_t i(0); i < sz; i++) { - EXPECT_EQUAL(Bits::reverse(v[i]), exp[i]); - EXPECT_EQUAL(Bits::reverse(Bits::reverse(v[i])), v[i]); + EXPECT_EQ(Bits::reverse(v[i]), exp[i]); + EXPECT_EQ(Bits::reverse(Bits::reverse(v[i])), v[i]); } } -void Test::testBuffer() +void BitsTest::testBuffer() { uint64_t a(0x0102040810204080ul); uint64_t b(a); Bits::reverse(&a, sizeof(a)); - EXPECT_EQUAL(a, Bits::reverse(b)); + EXPECT_EQ(a, Bits::reverse(b)); Bits::reverse(&a, sizeof(a)); - EXPECT_EQUAL(a, b); + EXPECT_EQ(a, b); } -TEST_APPHOOK(Test) +GTEST_MAIN_RUN_ALL_TESTS() diff --git a/vespalib/src/tests/btree/CMakeLists.txt b/vespalib/src/tests/btree/CMakeLists.txt index 79bda87867e..bf4edc9e5e9 100644 --- a/vespalib/src/tests/btree/CMakeLists.txt +++ b/vespalib/src/tests/btree/CMakeLists.txt @@ -12,6 +12,7 @@ vespa_add_executable(vespalib_frozenbtree_test_app TEST frozenbtree_test.cpp DEPENDS vespalib + GTest::gtest ) vespa_add_test(NAME vespalib_frozenbtree_test_app COMMAND vespalib_frozenbtree_test_app COST 30) vespa_add_executable(vespalib_btreeaggregation_test_app TEST diff --git a/vespalib/src/tests/btree/frozenbtree_test.cpp b/vespalib/src/tests/btree/frozenbtree_test.cpp index b16a7013db4..ffe8b4516aa 100644 --- a/vespalib/src/tests/btree/frozenbtree_test.cpp +++ b/vespalib/src/tests/btree/frozenbtree_test.cpp @@ -2,12 +2,12 @@ #define DEBUG_FROZENBTREE #define LOG_FROZENBTREEXX -#include <vespa/vespalib/testkit/testapp.h> #include <vespa/vespalib/btree/btreeroot.h> #include <vespa/vespalib/btree/btreeiterator.hpp> #include <vespa/vespalib/btree/btreeroot.hpp> #include <vespa/vespalib/btree/btreenodeallocator.hpp> #include <vespa/vespalib/datastore/buffer_type.hpp> +#include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/util/rand48.h> #include <map> @@ -24,11 +24,11 @@ using vespalib::GenerationHandler; namespace vespalib { -class FrozenBTreeTest : public vespalib::TestApp +class FrozenBTreeTest : public ::testing::Test { public: using KeyType = int; -private: +protected: std::vector<KeyType> _randomValues; std::vector<KeyType> _sortedRandomValues; @@ -43,7 +43,7 @@ public: using LeafNodeType = Tree::LeafNodeType; using Iterator = Tree::Iterator; using ConstIterator = Tree::ConstIterator; -private: +protected: GenerationHandler *_generationHandler; NodeAllocator *_allocator; Tree *_tree; @@ -70,21 +70,21 @@ private: } public: FrozenBTreeTest(); - ~FrozenBTreeTest(); - - int Main() override; + ~FrozenBTreeTest() override; }; FrozenBTreeTest::FrozenBTreeTest() - : vespalib::TestApp(), + : ::testing::Test(), _randomValues(), _sortedRandomValues(), _generationHandler(NULL), _allocator(NULL), _tree(NULL), _randomGenerator() -{} -FrozenBTreeTest::~FrozenBTreeTest() {} +{ +} + +FrozenBTreeTest::~FrozenBTreeTest() = default; void FrozenBTreeTest::allocTree() @@ -410,11 +410,8 @@ FrozenBTreeTest::printEnumTree(const Tree *tree, -int -FrozenBTreeTest::Main() +TEST_F(FrozenBTreeTest, test_frozen_btree) { - TEST_INIT("frozenbtree_test"); - fillRandomValues(1000); sortRandomValues(); @@ -451,21 +448,8 @@ FrozenBTreeTest::Main() true); insertRandomValues(*_tree, *_allocator, _randomValues); freeTree(true); - - fillRandomValues(1000000); - sortRandomValues(); - - allocTree(); - insertRandomValues(*_tree, *_allocator, _randomValues); - traverseTreeIterator(*_tree, - *_allocator, - _sortedRandomValues, - false); - freeTree(false); - - TEST_DONE(); } } -TEST_APPHOOK(vespalib::FrozenBTreeTest); +GTEST_MAIN_RUN_ALL_TESTS() diff --git a/vespalib/src/tests/compress/CMakeLists.txt b/vespalib/src/tests/compress/CMakeLists.txt index 3085aec6bd8..31679e1f479 100644 --- a/vespalib/src/tests/compress/CMakeLists.txt +++ b/vespalib/src/tests/compress/CMakeLists.txt @@ -4,5 +4,6 @@ vespa_add_executable(vespalib_compress_test_app TEST compress_test.cpp DEPENDS vespalib + GTest::gtest ) vespa_add_test(NAME vespalib_compress_test_app COMMAND vespalib_compress_test_app) diff --git a/vespalib/src/tests/compress/compress_test.cpp b/vespalib/src/tests/compress/compress_test.cpp index c4383a1c193..7ad69b54e06 100644 --- a/vespalib/src/tests/compress/compress_test.cpp +++ b/vespalib/src/tests/compress/compress_test.cpp @@ -1,58 +1,59 @@ // 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/vespalib/util/compress.h> +#include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/util/exceptions.h> using namespace vespalib; using compress::Integer; -class CompressTest : public TestApp +class CompressTest : public ::testing::Test { -private: +protected: + CompressTest(); + ~CompressTest() override; void verifyPositiveNumber(uint64_t n, const uint8_t * expected, size_t sz); void verifyNumber(int64_t n, const uint8_t * expected, size_t sz); - void requireThatPositiveNumberCompressCorrectly(); - void requireThatNumberCompressCorrectly(); -public: - int Main() override; }; +CompressTest::CompressTest() = default; +CompressTest::~CompressTest() = default; + void CompressTest::verifyPositiveNumber(uint64_t n, const uint8_t * expected, size_t sz) { uint8_t buf[8]; - EXPECT_EQUAL(sz, Integer::compressPositive(n, buf)); - EXPECT_EQUAL(sz, Integer::compressedPositiveLength(n)); + EXPECT_EQ(sz, Integer::compressPositive(n, buf)); + EXPECT_EQ(sz, Integer::compressedPositiveLength(n)); for (size_t i(0); i < sz; i++) { - EXPECT_EQUAL(expected[i], buf[i]); + EXPECT_EQ(expected[i], buf[i]); } EXPECT_FALSE(Integer::check_decompress_positive_space(expected, 0u)); EXPECT_FALSE(Integer::check_decompress_positive_space(expected, sz - 1)); EXPECT_TRUE(Integer::check_decompress_positive_space(expected, sz)); uint64_t v(0); - EXPECT_EQUAL(sz, Integer::decompressPositive(v, expected)); - EXPECT_EQUAL(n, v); + EXPECT_EQ(sz, Integer::decompressPositive(v, expected)); + EXPECT_EQ(n, v); } void CompressTest::verifyNumber(int64_t n, const uint8_t * expected, size_t sz) { uint8_t buf[8]; - EXPECT_EQUAL(sz, Integer::compress(n, buf)); - EXPECT_EQUAL(sz, Integer::compressedLength(n)); + EXPECT_EQ(sz, Integer::compress(n, buf)); + EXPECT_EQ(sz, Integer::compressedLength(n)); for (size_t i(0); i < sz; i++) { - EXPECT_EQUAL(expected[i], buf[i]); + EXPECT_EQ(expected[i], buf[i]); } EXPECT_FALSE(Integer::check_decompress_space(expected, 0u)); EXPECT_FALSE(Integer::check_decompress_space(expected, sz - 1)); EXPECT_TRUE(Integer::check_decompress_space(expected, sz)); int64_t v(0); - EXPECT_EQUAL(sz, Integer::decompress(v, expected)); - EXPECT_EQUAL(n, v); + EXPECT_EQ(sz, Integer::decompress(v, expected)); + EXPECT_EQ(n, v); } #define VERIFY_POSITIVE(n, p) verifyPositiveNumber(n, p, sizeof(p)) -void -CompressTest::requireThatPositiveNumberCompressCorrectly() + +TEST_F(CompressTest, require_that_positive_number_compress_correctly) { const uint8_t zero[1] = {0}; VERIFY_POSITIVE(0, zero); @@ -73,19 +74,19 @@ CompressTest::requireThatPositiveNumberCompressCorrectly() VERIFY_POSITIVE(0x40000000, x40000000); EXPECT_TRUE(false); } catch (const IllegalArgumentException & e) { - EXPECT_EQUAL("Number '1073741824' too big, must extend encoding", e.getMessage()); + EXPECT_EQ("Number '1073741824' too big, must extend encoding", e.getMessage()); } try { VERIFY_POSITIVE(-1, x40000000); EXPECT_TRUE(false); } catch (const IllegalArgumentException & e) { - EXPECT_EQUAL("Number '18446744073709551615' too big, must extend encoding", e.getMessage()); + EXPECT_EQ("Number '18446744073709551615' too big, must extend encoding", e.getMessage()); } } #define VERIFY_NUMBER(n, p) verifyNumber(n, p, sizeof(p)) -void -CompressTest::requireThatNumberCompressCorrectly() + +TEST_F(CompressTest, require_that_number_compress_correctly) { const uint8_t zero[1] = {0}; VERIFY_NUMBER(0, zero); @@ -106,7 +107,7 @@ CompressTest::requireThatNumberCompressCorrectly() VERIFY_NUMBER(0x20000000, x20000000); EXPECT_TRUE(false); } catch (const IllegalArgumentException & e) { - EXPECT_EQUAL("Number '536870912' too big, must extend encoding", e.getMessage()); + EXPECT_EQ("Number '536870912' too big, must extend encoding", e.getMessage()); } const uint8_t mzero[1] = {0x81}; VERIFY_NUMBER(-1, mzero); @@ -127,19 +128,8 @@ CompressTest::requireThatNumberCompressCorrectly() VERIFY_NUMBER(-0x20000000, mx20000000); EXPECT_TRUE(false); } catch (const IllegalArgumentException & e) { - EXPECT_EQUAL("Number '-536870912' too big, must extend encoding", e.getMessage()); + EXPECT_EQ("Number '-536870912' too big, must extend encoding", e.getMessage()); } } -int -CompressTest::Main() -{ - TEST_INIT("compress_test"); - - requireThatPositiveNumberCompressCorrectly(); - requireThatNumberCompressCorrectly(); - - TEST_DONE(); -} - -TEST_APPHOOK(CompressTest) +GTEST_MAIN_RUN_ALL_TESTS() |