aboutsummaryrefslogtreecommitdiffstats
path: root/config/src/tests/legacysubscriber
diff options
context:
space:
mode:
authorArnstein Ressem <aressem@gmail.com>2016-08-23 15:10:36 +0200
committerVegard Sjonfjell <vegardsjo@gmail.com>2016-08-23 15:10:36 +0200
commit55e5a91901109161186e05d3a6e959e06958bbba (patch)
treef312bab2c60207ee305dbcfa047fcc4fa8fd2dc1 /config/src/tests/legacysubscriber
parentd337a29392fb752dc725e4aea5efa0cc0df5f17a (diff)
Aressem/cmake more out of source tests (#441)
* vespalib tests run out of source. * staging_vespalib run tests out of source. * fastos tests run out of source. * Fixed storage tests out of source. * Fixed some of the config tests. * config* tests run out of source. * document_* tests run out of source. * documentapi_ tests run out of source. * Fixed fsa out of source tests. * Fix jrt_test out of source. * More tests run out of source. * Fix some slobrok and messagebus tests. * More fixes for out of source tests. * Done with first pass of regular tests out of source. * Only use SOURCE_DIRECTORY in a limited set of places. * Fix some remaining tests. * Some cleanups. * No need for extra slash.
Diffstat (limited to 'config/src/tests/legacysubscriber')
-rw-r--r--config/src/tests/legacysubscriber/legacysubscriber.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/config/src/tests/legacysubscriber/legacysubscriber.cpp b/config/src/tests/legacysubscriber/legacysubscriber.cpp
index 966e12a0b82..031f3f76f00 100644
--- a/config/src/tests/legacysubscriber/legacysubscriber.cpp
+++ b/config/src/tests/legacysubscriber/legacysubscriber.cpp
@@ -1,6 +1,7 @@
// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <vespa/fastos/fastos.h>
#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/config/helper/legacysubscriber.h>
#include <fstream>
#include <config-my.h>
@@ -23,10 +24,19 @@ public:
bool _configured;
};
+struct ConfigIdGenerator
+{
+ static std::string id(const std::string &type, const std::string &name)
+ {
+ return std::string(type + ":" +
+ vespalib::TestApp::GetSourceDirectory() + name);
+ }
+};
+
TEST("requireThatFileLegacyWorks") {
LegacySubscriber s;
MyCallback<MyConfig> cb;
- s.subscribe<MyConfig>("file:test1.cfg", &cb);
+ s.subscribe<MyConfig>(ConfigIdGenerator::id("file", "test1.cfg"), &cb);
ASSERT_TRUE(cb._configured);
ASSERT_TRUE(cb._config.get() != NULL);
ASSERT_EQUAL("bar", cb._config->myField);
@@ -35,7 +45,7 @@ TEST("requireThatFileLegacyWorks") {
TEST("requireThatDirLegacyWorks") {
LegacySubscriber s;
MyCallback<MyConfig> cb;
- s.subscribe<MyConfig>("dir:testdir", &cb);
+ s.subscribe<MyConfig>(ConfigIdGenerator::id("dir","testdir"), &cb);
ASSERT_TRUE(cb._configured);
ASSERT_TRUE(cb._config.get() != NULL);
ASSERT_EQUAL("bar", cb._config->myField);
@@ -47,8 +57,8 @@ TEST("requireThatDirMultiFileLegacyWorks") {
MyCallback<BarConfig> cb2;
LegacySubscriber s1, s2;
- s1.subscribe<FooConfig>("dir:testdir/foobar", &cb1);
- s2.subscribe<BarConfig>("dir:testdir/foobar", &cb2);
+ s1.subscribe<FooConfig>(ConfigIdGenerator::id("dir", "testdir/foobar"), &cb1);
+ s2.subscribe<BarConfig>(ConfigIdGenerator::id("dir", "testdir/foobar"), &cb2);
ASSERT_TRUE(cb1._configured);
ASSERT_TRUE(cb1._config.get() != NULL);
@@ -62,13 +72,13 @@ TEST("requireThatDirMultiFileLegacyWorks") {
TEST("requireThatFileLegacyWorksMultipleTimes") {
LegacySubscriber s;
MyCallback<MyConfig> cb;
- s.subscribe<MyConfig>("file:test1.cfg", &cb);
+ s.subscribe<MyConfig>(ConfigIdGenerator::id("file", "test1.cfg"), &cb);
ASSERT_TRUE(cb._configured);
ASSERT_TRUE(cb._config.get() != NULL);
ASSERT_EQUAL("bar", cb._config->myField);
cb._configured = false;
LegacySubscriber s2;
- s2.subscribe<MyConfig>("file:test1.cfg", &cb);
+ s2.subscribe<MyConfig>(ConfigIdGenerator::id("file", "test1.cfg"), &cb);
ASSERT_TRUE(cb._configured);
ASSERT_TRUE(cb._config.get() != NULL);
ASSERT_EQUAL("bar", cb._config->myField);