summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dist/vespa.spec4
-rw-r--r--messagebus/src/tests/advancedrouting/CMakeLists.txt1
-rw-r--r--messagebus/src/tests/advancedrouting/advancedrouting.cpp76
-rw-r--r--messagebus/src/tests/choke/CMakeLists.txt1
-rw-r--r--messagebus/src/tests/choke/choke.cpp115
5 files changed, 96 insertions, 101 deletions
diff --git a/dist/vespa.spec b/dist/vespa.spec
index 14e1869b6a5..53e82e372af 100644
--- a/dist/vespa.spec
+++ b/dist/vespa.spec
@@ -32,6 +32,7 @@
%define _create_vespa_service 1
%define _defattr_is_vespa_vespa 0
%define _command_cmake cmake3
+%global _vespa_build_depencencies_version 1.2.7
Name: vespa
Version: _VESPA_VERSION_
@@ -42,7 +43,7 @@ License: Commercial
URL: http://vespa.ai
Source0: vespa-%{version}.tar.gz
-BuildRequires: vespa-build-dependencies = 1.2.7
+BuildRequires: vespa-build-dependencies = %{_vespa_build_depencencies_version}
Requires: %{name}-base = %{version}-%{release}
Requires: %{name}-base-libs = %{version}-%{release}
@@ -262,6 +263,7 @@ Vespa - The open big data serving engine - tools for system tests
Summary: Vespa - The open big data serving engine - devel package
+Requires: vespa-build-dependencies = %{_vespa_build_depencencies_version}
Requires: %{name} = %{version}-%{release}
Requires: %{name}-base-libs = %{version}-%{release}
diff --git a/messagebus/src/tests/advancedrouting/CMakeLists.txt b/messagebus/src/tests/advancedrouting/CMakeLists.txt
index dc4013b833f..ca2d3e4bba0 100644
--- a/messagebus/src/tests/advancedrouting/CMakeLists.txt
+++ b/messagebus/src/tests/advancedrouting/CMakeLists.txt
@@ -5,5 +5,6 @@ vespa_add_executable(messagebus_advancedrouting_test_app TEST
DEPENDS
messagebus_messagebus-test
messagebus
+ GTest::gtest
)
vespa_add_test(NAME messagebus_advancedrouting_test_app COMMAND messagebus_advancedrouting_test_app)
diff --git a/messagebus/src/tests/advancedrouting/advancedrouting.cpp b/messagebus/src/tests/advancedrouting/advancedrouting.cpp
index ce4a13d435a..4415674986e 100644
--- a/messagebus/src/tests/advancedrouting/advancedrouting.cpp
+++ b/messagebus/src/tests/advancedrouting/advancedrouting.cpp
@@ -5,14 +5,16 @@
#include <vespa/messagebus/testlib/simplemessage.h>
#include <vespa/messagebus/testlib/slobrok.h>
#include <vespa/messagebus/testlib/testserver.h>
-#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/vespalib/util/stringfmt.h>
#include <vespa/messagebus/emptyreply.h>
#include <vespa/messagebus/errorcode.h>
#include <vespa/messagebus/routing/retrytransienterrorspolicy.h>
+#include <vespa/vespalib/gtest/gtest.h>
using namespace mbus;
+namespace {
+
class TestData {
public:
Slobrok _slobrok;
@@ -34,38 +36,27 @@ public:
bool start();
};
-class Test : public vespalib::TestApp {
-private:
- Message::UP createMessage(const string &msg);
- bool testTrace(const std::vector<string> &expected, const Trace &trace);
-
-public:
- int Main() override;
- void testAdvanced(TestData &data);
-};
-
-TEST_APPHOOK(Test);
-
-TestData::~TestData() = default;
-TestData::TestData() :
- _slobrok(),
- _retryPolicy(std::make_shared<RetryTransientErrorsPolicy>()),
- _srcServer(MessageBusParams().setRetryPolicy(_retryPolicy).addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config())),
- _srcSession(),
- _srcHandler(),
- _dstServer(MessageBusParams().addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config()).setIdentity(Identity("dst"))),
- _fooSession(),
- _fooHandler(),
- _barSession(),
- _barHandler(),
- _bazSession(),
- _bazHandler()
+TestData::TestData()
+ : _slobrok(),
+ _retryPolicy(std::make_shared<RetryTransientErrorsPolicy>()),
+ _srcServer(MessageBusParams().setRetryPolicy(_retryPolicy).addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config())),
+ _srcSession(),
+ _srcHandler(),
+ _dstServer(MessageBusParams().addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config()).setIdentity(Identity("dst"))),
+ _fooSession(),
+ _fooHandler(),
+ _barSession(),
+ _barHandler(),
+ _bazSession(),
+ _bazHandler()
{
_retryPolicy->setBaseDelay(0);
}
+TestData::~TestData() = default;
+
bool
TestData::start()
{
@@ -91,30 +82,21 @@ TestData::start()
return true;
}
-Message::UP
-Test::createMessage(const string &msg)
+std::unique_ptr<Message>
+createMessage(const string &msg)
{
auto ret = std::make_unique<SimpleMessage>(msg);
ret->getTrace().setLevel(9);
return ret;
}
-int
-Test::Main()
-{
- TEST_INIT("routing_test");
+}
+TEST(AdvancedRoutingTest, test_advanced)
+{
TestData data;
ASSERT_TRUE(data.start());
- testAdvanced(data); TEST_FLUSH();
-
- TEST_DONE();
-}
-
-void
-Test::testAdvanced(TestData &data)
-{
const duration TIMEOUT = 60s;
IProtocol::SP protocol(new SimpleProtocol());
auto &simple = dynamic_cast<SimpleProtocol&>(*protocol);
@@ -174,7 +156,9 @@ Test::testAdvanced(TestData &data)
reply = data._srcHandler.getReply();
ASSERT_TRUE(reply);
printf("%s", reply->getTrace().toString().c_str());
- EXPECT_EQUAL(2u, reply->getNumErrors());
- EXPECT_EQUAL((uint32_t)ErrorCode::FATAL_ERROR, reply->getError(0).getCode());
- EXPECT_EQUAL((uint32_t)ErrorCode::NO_ADDRESS_FOR_SERVICE, reply->getError(1).getCode());
+ EXPECT_EQ(2u, reply->getNumErrors());
+ EXPECT_EQ((uint32_t)ErrorCode::FATAL_ERROR, reply->getError(0).getCode());
+ EXPECT_EQ((uint32_t)ErrorCode::NO_ADDRESS_FOR_SERVICE, reply->getError(1).getCode());
}
+
+GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/messagebus/src/tests/choke/CMakeLists.txt b/messagebus/src/tests/choke/CMakeLists.txt
index b4db862f717..c87c51f8c82 100644
--- a/messagebus/src/tests/choke/CMakeLists.txt
+++ b/messagebus/src/tests/choke/CMakeLists.txt
@@ -5,5 +5,6 @@ vespa_add_executable(messagebus_choke_test_app TEST
DEPENDS
messagebus_messagebus-test
messagebus
+ GTest::gtest
)
vespa_add_test(NAME messagebus_choke_test_app NO_VALGRIND COMMAND messagebus_choke_test_app)
diff --git a/messagebus/src/tests/choke/choke.cpp b/messagebus/src/tests/choke/choke.cpp
index 313aace8fd4..9c25fc64cd1 100644
--- a/messagebus/src/tests/choke/choke.cpp
+++ b/messagebus/src/tests/choke/choke.cpp
@@ -7,7 +7,7 @@
#include <vespa/messagebus/testlib/simpleprotocol.h>
#include <vespa/messagebus/testlib/slobrok.h>
#include <vespa/messagebus/testlib/testserver.h>
-#include <vespa/vespalib/testkit/testapp.h>
+#include <vespa/vespalib/gtest/gtest.h>
using namespace mbus;
@@ -17,6 +17,8 @@ using namespace mbus;
//
////////////////////////////////////////////////////////////////////////////////
+namespace {
+
class TestData {
public:
Slobrok _slobrok;
@@ -33,32 +35,20 @@ public:
bool start();
};
-class Test : public vespalib::TestApp {
-private:
- Message::UP createMessage(const string &msg);
-
-public:
- int Main() override;
- void testMaxCount(TestData &data);
- void testMaxSize(TestData &data);
-};
-
-TEST_APPHOOK(Test);
-
-TestData::TestData() :
- _slobrok(),
- _srcServer(MessageBusParams()
- .setRetryPolicy(IRetryPolicy::SP())
- .addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config())),
- _srcSession(),
- _srcHandler(),
- _dstServer(MessageBusParams()
- .addProtocol(std::make_shared<SimpleProtocol>()),
- RPCNetworkParams(_slobrok.config())
- .setIdentity(Identity("dst"))),
- _dstSession(),
- _dstHandler()
+TestData::TestData()
+ : _slobrok(),
+ _srcServer(MessageBusParams()
+ .setRetryPolicy(IRetryPolicy::SP())
+ .addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config())),
+ _srcSession(),
+ _srcHandler(),
+ _dstServer(MessageBusParams()
+ .addProtocol(std::make_shared<SimpleProtocol>()),
+ RPCNetworkParams(_slobrok.config())
+ .setIdentity(Identity("dst"))),
+ _dstSession(),
+ _dstHandler()
{
// empty
}
@@ -86,26 +76,41 @@ TestData::start()
return true;
}
-Message::UP
-Test::createMessage(const string &msg)
+std::unique_ptr<Message>
+createMessage(const string &msg)
{
Message::UP ret(new SimpleMessage(msg));
ret->getTrace().setLevel(9);
return ret;
}
-int
-Test::Main()
-{
- TEST_INIT("choke_test");
+}
+
+class ChokeTest : public testing::Test {
+protected:
+ static std::shared_ptr<TestData> _data;
+ ChokeTest();
+ ~ChokeTest() override;
+ static void SetUpTestSuite();
+ static void TearDownTestSuite();
+};
- TestData data;
- ASSERT_TRUE(data.start());
+std::shared_ptr<TestData> ChokeTest::_data;
- testMaxCount(data); TEST_FLUSH();
- testMaxSize(data); TEST_FLUSH();
+ChokeTest::ChokeTest() = default;
+ChokeTest::~ChokeTest() = default;
- TEST_DONE();
+void
+ChokeTest::SetUpTestSuite()
+{
+ _data = std::make_shared<TestData>();
+ ASSERT_TRUE(_data->start());
+}
+
+void
+ChokeTest::TearDownTestSuite()
+{
+ _data.reset();
}
static const duration TIMEOUT = 120s;
@@ -116,17 +121,17 @@ static const duration TIMEOUT = 120s;
//
////////////////////////////////////////////////////////////////////////////////
-void
-Test::testMaxCount(TestData &data)
+TEST_F(ChokeTest, test_max_count)
{
+ auto& data = *_data;
uint32_t max = 10;
data._dstServer.mb.setMaxPendingCount(max);
std::vector<Message*> lst;
for (uint32_t i = 0; i < max * 2; ++i) {
if (i < max) {
- EXPECT_EQUAL(i, data._dstServer.mb.getPendingCount());
+ EXPECT_EQ(i, data._dstServer.mb.getPendingCount());
} else {
- EXPECT_EQUAL(max, data._dstServer.mb.getPendingCount());
+ EXPECT_EQ(max, data._dstServer.mb.getPendingCount());
}
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), Route::parse("dst/session")).isAccepted());
if (i < max) {
@@ -136,8 +141,8 @@ Test::testMaxCount(TestData &data)
} else {
Reply::UP reply = data._srcHandler.getReply();
ASSERT_TRUE(reply);
- EXPECT_EQUAL(1u, reply->getNumErrors());
- EXPECT_EQUAL((uint32_t)ErrorCode::SESSION_BUSY, reply->getError(0).getCode());
+ EXPECT_EQ(1u, reply->getNumErrors());
+ EXPECT_EQ((uint32_t)ErrorCode::SESSION_BUSY, reply->getError(0).getCode());
}
}
for (uint32_t i = 0; i < 5; ++i) {
@@ -157,7 +162,7 @@ Test::testMaxCount(TestData &data)
lst.push_back(msg.release());
}
while (!lst.empty()) {
- EXPECT_EQUAL(lst.size(), data._dstServer.mb.getPendingCount());
+ EXPECT_EQ(lst.size(), data._dstServer.mb.getPendingCount());
Message::UP msg(lst[0]);
lst.erase(lst.begin());
data._dstSession->acknowledge(std::move(msg));
@@ -166,21 +171,21 @@ Test::testMaxCount(TestData &data)
ASSERT_TRUE(reply);
EXPECT_TRUE(!reply->hasErrors());
}
- EXPECT_EQUAL(0u, data._dstServer.mb.getPendingCount());
+ EXPECT_EQ(0u, data._dstServer.mb.getPendingCount());
}
-void
-Test::testMaxSize(TestData &data)
+TEST_F(ChokeTest, test_max_size)
{
+ auto& data = *_data;
uint32_t size = createMessage("msg")->getApproxSize();
uint32_t max = size * 10;
data._dstServer.mb.setMaxPendingSize(max);
std::vector<Message*> lst;
for (uint32_t i = 0; i < max * 2; i += size) {
if (i < max) {
- EXPECT_EQUAL(i, data._dstServer.mb.getPendingSize());
+ EXPECT_EQ(i, data._dstServer.mb.getPendingSize());
} else {
- EXPECT_EQUAL(max, data._dstServer.mb.getPendingSize());
+ EXPECT_EQ(max, data._dstServer.mb.getPendingSize());
}
EXPECT_TRUE(data._srcSession->send(createMessage("msg"), Route::parse("dst/session")).isAccepted());
if (i < max) {
@@ -190,8 +195,8 @@ Test::testMaxSize(TestData &data)
} else {
Reply::UP reply = data._srcHandler.getReply();
ASSERT_TRUE(reply);
- EXPECT_EQUAL(1u, reply->getNumErrors());
- EXPECT_EQUAL((uint32_t)ErrorCode::SESSION_BUSY, reply->getError(0).getCode());
+ EXPECT_EQ(1u, reply->getNumErrors());
+ EXPECT_EQ((uint32_t)ErrorCode::SESSION_BUSY, reply->getError(0).getCode());
}
}
for (uint32_t i = 0; i < 5; ++i) {
@@ -211,7 +216,7 @@ Test::testMaxSize(TestData &data)
lst.push_back(msg.release());
}
while (!lst.empty()) {
- EXPECT_EQUAL(size * lst.size(), data._dstServer.mb.getPendingSize());
+ EXPECT_EQ(size * lst.size(), data._dstServer.mb.getPendingSize());
Message::UP msg(lst[0]);
lst.erase(lst.begin());
data._dstSession->acknowledge(std::move(msg));
@@ -220,5 +225,7 @@ Test::testMaxSize(TestData &data)
ASSERT_TRUE(reply);
EXPECT_TRUE(!reply->hasErrors());
}
- EXPECT_EQUAL(0u, data._dstServer.mb.getPendingSize());
+ EXPECT_EQ(0u, data._dstServer.mb.getPendingSize());
}
+
+GTEST_MAIN_RUN_ALL_TESTS()