From e2a2b98a6940d7a4e7aab39afc97af54fd72331a Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Fri, 7 Jun 2019 14:20:02 +0000 Subject: Convert StatusTest from CppUnit to GTest --- storage/src/tests/CMakeLists.txt | 1 - .../src/tests/frameworkimpl/status/CMakeLists.txt | 10 +--- .../src/tests/frameworkimpl/status/statustest.cpp | 62 +++++++--------------- 3 files changed, 21 insertions(+), 52 deletions(-) (limited to 'storage') diff --git a/storage/src/tests/CMakeLists.txt b/storage/src/tests/CMakeLists.txt index 7340668f70f..0e0a46f969e 100644 --- a/storage/src/tests/CMakeLists.txt +++ b/storage/src/tests/CMakeLists.txt @@ -13,7 +13,6 @@ vespa_add_executable(storage_testrunner_app TEST storage_testdistributor storage_testpersistence storage_testfilestorage - storage_teststatus ) vespa_add_test( diff --git a/storage/src/tests/frameworkimpl/status/CMakeLists.txt b/storage/src/tests/frameworkimpl/status/CMakeLists.txt index fb550807dff..655dff1bd0c 100644 --- a/storage/src/tests/frameworkimpl/status/CMakeLists.txt +++ b/storage/src/tests/frameworkimpl/status/CMakeLists.txt @@ -1,17 +1,9 @@ # Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -# TODO: Remove test library when test has been migrated to gtest. -vespa_add_library(storage_teststatus TEST - SOURCES - statustest.cpp - DEPENDS - storage - storage_testcommon -) - vespa_add_executable(storage_status_gtest_runner_app TEST SOURCES gtest_runner.cpp + statustest.cpp DEPENDS storage storage_testcommon diff --git a/storage/src/tests/frameworkimpl/status/statustest.cpp b/storage/src/tests/frameworkimpl/status/statustest.cpp index a9ffe188c69..e7d0d496cc8 100644 --- a/storage/src/tests/frameworkimpl/status/statustest.cpp +++ b/storage/src/tests/frameworkimpl/status/statustest.cpp @@ -6,21 +6,24 @@ #include #include #include -#include #include #include #include #include +#include +#include + +using namespace ::testing; vespalib::string fetch(int port, const vespalib::string &path) { auto crypto = vespalib::CryptoEngine::get_default(); auto socket = vespalib::SocketSpec::from_port(port).client_address().connect(); - CPPUNIT_ASSERT(socket.valid()); + assert(socket.valid()); auto conn = vespalib::SyncCryptoSocket::create(*crypto, std::move(socket), false); vespalib::string http_req = vespalib::make_string("GET %s HTTP/1.1\r\n" "Host: localhost:%d\r\n" "\r\n", path.c_str(), port); - CPPUNIT_ASSERT_EQUAL(conn->write(http_req.data(), http_req.size()), ssize_t(http_req.size())); + assert(conn->write(http_req.data(), http_req.size()) == ssize_t(http_req.size())); char buf[1024]; vespalib::string result; ssize_t res = conn->read(buf, sizeof(buf)); @@ -28,33 +31,18 @@ vespalib::string fetch(int port, const vespalib::string &path) { result.append(vespalib::stringref(buf, res)); res = conn->read(buf, sizeof(buf)); } - CPPUNIT_ASSERT_EQUAL(res, ssize_t(0)); + assert(res == 0); return result; } namespace storage { -struct StatusTest : public CppUnit::TestFixture { +struct StatusTest : Test { std::unique_ptr _node; - void setUp() override; - - void testIndexStatusPage(); - void testHtmlStatus(); - void testXmlStatus(); - void test404(); - void requireThatServerSpecIsConstructedCorrectly(); - - CPPUNIT_TEST_SUITE(StatusTest); - CPPUNIT_TEST(testIndexStatusPage); - CPPUNIT_TEST(testHtmlStatus); - CPPUNIT_TEST(testXmlStatus); - CPPUNIT_TEST(test404); - CPPUNIT_TEST_SUITE_END(); + void SetUp() override; }; -CPPUNIT_TEST_SUITE_REGISTRATION(StatusTest); - namespace { struct HtmlStatusReporter : public framework::HtmlStatusReporter { std::string _headerAddition; @@ -102,20 +90,16 @@ namespace { { registerStatusPage(*_reporter); } - ~StatusComponent() { delete _reporter; } + ~StatusComponent() override { delete _reporter; } }; } -void -StatusTest::setUp() -{ - _node.reset(new TestServiceLayerApp); +void StatusTest::SetUp() { + _node = std::make_unique(); } -void -StatusTest::testIndexStatusPage() -{ +TEST_F(StatusTest, index_status_page) { StatusComponent rep1(_node->getComponentRegister(), "foo", new HtmlStatusReporter( "fooid", "Foo impl", "

info

")); @@ -144,12 +128,10 @@ StatusTest::testIndexStatusPage() "<\\/body>\n" "<\\/html>\n" ); - CPPUNIT_ASSERT_MATCH_REGEX(expected, actual); + EXPECT_THAT(actual, MatchesRegex(expected)); } -void -StatusTest::testHtmlStatus() -{ +TEST_F(StatusTest, html_status) { StatusComponent rep1(_node->getComponentRegister(), "foo", new HtmlStatusReporter( "fooid", "Foo impl", "

info

", "")); @@ -172,12 +154,10 @@ StatusTest::testHtmlStatus() "

info

\n" "\n" ); - CPPUNIT_ASSERT_EQUAL(expected, std::string(actual)); + EXPECT_EQ(expected, std::string(actual)); } -void -StatusTest::testXmlStatus() -{ +TEST_F(StatusTest, xml_sStatus) { StatusComponent rep1(_node->getComponentRegister(), "foo", new XmlStatusReporter( "fooid", "Foo impl")); @@ -196,12 +176,10 @@ StatusTest::testXmlStatus() "content\n" "" ); - CPPUNIT_ASSERT_EQUAL(expected, std::string(actual)); + EXPECT_EQ(expected, std::string(actual)); } -void -StatusTest::test404() -{ +TEST_F(StatusTest, test404) { StatusWebServer webServer(_node->getComponentRegister(), _node->getComponentRegister(), "raw:httpport 0"); @@ -211,7 +189,7 @@ StatusTest::test404() "Connection: close\r\n" "\r\n" ); - CPPUNIT_ASSERT_EQUAL_ESCAPED(expected, std::string(actual)); + EXPECT_EQ(expected, std::string(actual)); } } // storage -- cgit v1.2.3