summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorTor Brede Vekterli <vekterli@verizonmedia.com>2019-06-07 14:20:02 +0000
committerTor Brede Vekterli <vekterli@verizonmedia.com>2019-06-12 11:11:15 +0000
commite2a2b98a6940d7a4e7aab39afc97af54fd72331a (patch)
treeaa7d795b3081528a5569a6b55930b448e2cf48fa /storage
parente3bf233c210864a52d4ad938d2dcc2c4cc6b7d1e (diff)
Convert StatusTest from CppUnit to GTest
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/CMakeLists.txt1
-rw-r--r--storage/src/tests/frameworkimpl/status/CMakeLists.txt10
-rw-r--r--storage/src/tests/frameworkimpl/status/statustest.cpp62
3 files changed, 21 insertions, 52 deletions
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 <vespa/storageframework/generic/status/htmlstatusreporter.h>
#include <vespa/storageframework/generic/status/xmlstatusreporter.h>
#include <tests/common/teststorageapp.h>
-#include <vespa/vdstestlib/cppunit/macros.h>
#include <vespa/document/util/stringutil.h>
#include <vespa/vespalib/net/crypto_engine.h>
#include <vespa/vespalib/net/socket_spec.h>
#include <vespa/vespalib/net/sync_crypto_socket.h>
+#include <vespa/vespalib/gtest/gtest.h>
+#include <gmock/gmock.h>
+
+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<TestServiceLayerApp> _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<TestServiceLayerApp>();
}
-void
-StatusTest::testIndexStatusPage()
-{
+TEST_F(StatusTest, index_status_page) {
StatusComponent rep1(_node->getComponentRegister(), "foo",
new HtmlStatusReporter(
"fooid", "Foo impl", "<p>info</p>"));
@@ -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", "<p>info</p>", "<!-- script -->"));
@@ -172,12 +154,10 @@ StatusTest::testHtmlStatus()
"<p>info</p></body>\n"
"</html>\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()
"<mytag foo=\"bar\">content</mytag>\n"
"</status>"
);
- 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