aboutsummaryrefslogtreecommitdiffstats
path: root/config/src
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
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')
-rw-r--r--config/src/tests/configgen/configgen.cpp4
-rw-r--r--config/src/tests/file_subscription/file_subscription.cpp14
-rw-r--r--config/src/tests/functiontest/functiontest.cpp6
-rw-r--r--config/src/tests/getconfig/getconfig.cpp3
-rw-r--r--config/src/tests/legacysubscriber/legacysubscriber.cpp22
-rw-r--r--config/src/tests/print/print.cpp7
6 files changed, 38 insertions, 18 deletions
diff --git a/config/src/tests/configgen/configgen.cpp b/config/src/tests/configgen/configgen.cpp
index 786268e7287..a1e891e19fa 100644
--- a/config/src/tests/configgen/configgen.cpp
+++ b/config/src/tests/configgen/configgen.cpp
@@ -3,13 +3,15 @@
#include <vespa/log/log.h>
LOG_SETUP("configgen");
#include <vespa/vespalib/testkit/test_kit.h>
+#include <vespa/vespalib/testkit/testapp.h>
#include <vespa/config/config.h>
#include "config-motd.h"
using namespace config;
TEST("require that config type can be compiled") {
- std::unique_ptr<MotdConfig> cfg = ConfigGetter<MotdConfig>::getConfig("motd", FileSpec("motd.cfg"));
+ std::unique_ptr<MotdConfig> cfg = ConfigGetter<MotdConfig>::getConfig("motd",
+ FileSpec(vespalib::TestApp::GetSourceDirectory() + "motd.cfg"));
}
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/config/src/tests/file_subscription/file_subscription.cpp b/config/src/tests/file_subscription/file_subscription.cpp
index 4b2c84281e9..19aa43297a6 100644
--- a/config/src/tests/file_subscription/file_subscription.cpp
+++ b/config/src/tests/file_subscription/file_subscription.cpp
@@ -5,6 +5,7 @@
#include <vespa/config/common/configholder.h>
#include <vespa/config/file/filesource.h>
#include <vespa/vespalib/util/sync.h>
+#include <vespa/vespalib/testkit/testapp.h>
#include <fstream>
#include <config-my.h>
#include <config-foo.h>
@@ -27,6 +28,7 @@ namespace {
}
}
+
TEST("requireThatFileSpecGivesCorrectKey") {
std::string str("/home/my/config.cfg");
FileSpec spec(str);
@@ -129,7 +131,7 @@ TEST("requireThatMultipleSubscribersCanSubscribeToSameFile") {
}
TEST("requireThatCanSubscribeToDirectory") {
- DirSpec spec("cfgdir");
+ DirSpec spec(vespalib::TestApp::GetSourceDirectory() + "cfgdir");
ConfigSubscriber s(spec);
ConfigHandle<FooConfig>::UP fooHandle = s.subscribe<FooConfig>("");
ConfigHandle<BarConfig>::UP barHandle = s.subscribe<BarConfig>("");
@@ -145,7 +147,7 @@ TEST("requireThatCanSubscribeToDirectory") {
}
TEST("requireThatCanSubscribeToDirectoryWithEmptyCfgFile") {
- DirSpec spec("cfgemptyfile");
+ DirSpec spec(vespalib::TestApp::GetSourceDirectory() + "cfgemptyfile");
ConfigSubscriber s(spec);
ConfigHandle<FoodefaultConfig>::UP fooHandle = s.subscribe<FoodefaultConfig>("");
ConfigHandle<BarConfig>::UP barHandle = s.subscribe<BarConfig>("");
@@ -161,7 +163,7 @@ TEST("requireThatCanSubscribeToDirectoryWithEmptyCfgFile") {
}
TEST("requireThatCanSubscribeToDirectoryWithNonExistingCfgFile") {
- DirSpec spec("cfgnonexistingfile");
+ DirSpec spec(vespalib::TestApp::GetSourceDirectory() + "cfgnonexistingfile");
ConfigSubscriber s(spec);
ConfigHandle<FoodefaultConfig>::UP fooHandle = s.subscribe<FoodefaultConfig>("");
ConfigHandle<BarConfig>::UP barHandle = s.subscribe<BarConfig>("");
@@ -176,7 +178,8 @@ TEST("requireThatCanSubscribeToDirectoryWithNonExistingCfgFile") {
ASSERT_EQUAL("barbar", barCfg->barValue);
}
-TEST_F("requireThatDirSpecDoesNotMixNames", DirSpec("cfgdir2")) {
+TEST_F("requireThatDirSpecDoesNotMixNames",
+ DirSpec(vespalib::TestApp::GetSourceDirectory() + "cfgdir2")) {
ConfigSubscriber s(f);
ConfigHandle<BarConfig>::UP barHandle = s.subscribe<BarConfig>("");
ConfigHandle<FoobarConfig>::UP foobarHandle = s.subscribe<FoobarConfig>("");
@@ -189,7 +192,8 @@ TEST_F("requireThatDirSpecDoesNotMixNames", DirSpec("cfgdir2")) {
ASSERT_EQUAL("foobarlol", foobar->fooBarValue);
}
-TEST_F("require that can subscribe multiple config ids of same config", DirSpec("cfgdir3")) {
+TEST_F("require that can subscribe multiple config ids of same config",
+ DirSpec(vespalib::TestApp::GetSourceDirectory() + "cfgdir3")) {
ConfigSubscriber s(f1);
ConfigHandle<BarConfig>::UP fooHandle = s.subscribe<BarConfig>("foo");
ConfigHandle<BarConfig>::UP barHandle = s.subscribe<BarConfig>("bar");
diff --git a/config/src/tests/functiontest/functiontest.cpp b/config/src/tests/functiontest/functiontest.cpp
index 6541e76e06a..444ba776f27 100644
--- a/config/src/tests/functiontest/functiontest.cpp
+++ b/config/src/tests/functiontest/functiontest.cpp
@@ -95,7 +95,7 @@ struct LazyTestFixture
std::unique_ptr<FunctionTestConfig> _config;
LazyTestFixture(const std::string & dirName)
- : _spec(dirName),
+ : _spec(vespalib::TestApp::GetSourceDirectory() + dirName),
_subscriber(_spec),
_handle(_subscriber.subscribe<FunctionTestConfig>(""))
{
@@ -130,7 +130,7 @@ struct ErrorFixture
};
void attemptLacking(const std::string& param, bool isArray) {
- std::ifstream in("defaultvalues/function-test.cfg", std::ios_base::in);
+ std::ifstream in(vespalib::TestApp::GetSourceDirectory() + "defaultvalues/function-test.cfg", std::ios_base::in);
std::ostringstream config;
std::string s;
while (std::getline(in, s)) {
@@ -172,7 +172,7 @@ TEST_F("testVariableAccess", TestFixture("variableaccess")) {
TEST("test variable access from slime") {
vespalib::Slime slime;
- std::string json(readFile("slime-payload.json"));
+ std::string json(readFile(vespalib::TestApp::GetSourceDirectory() + "slime-payload.json"));
vespalib::slime::JsonFormat::decode(json, slime);
FunctionTestConfig config(config::ConfigPayload(slime.get()));
checkVariableAccess(config);
diff --git a/config/src/tests/getconfig/getconfig.cpp b/config/src/tests/getconfig/getconfig.cpp
index ec350e3140b..27f4fcf7505 100644
--- a/config/src/tests/getconfig/getconfig.cpp
+++ b/config/src/tests/getconfig/getconfig.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/config.h>
#include <vespa/config/raw/rawsource.h>
#include "config-my.h"
@@ -34,7 +35,7 @@ TEST("requireThatGetConfigReturnsCorrectConfig")
TEST("requireThatGetConfigReturnsCorrectConfig")
{
- FileSpec spec("my.cfg");
+ FileSpec spec(vespalib::TestApp::GetSourceDirectory() + "my.cfg");
std::unique_ptr<MyConfig> cfg = ConfigGetter<MyConfig>::getConfig("", spec);
ASSERT_TRUE(cfg.get() != NULL);
ASSERT_EQUAL("my", cfg->defName());
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);
diff --git a/config/src/tests/print/print.cpp b/config/src/tests/print/print.cpp
index 7faae087e74..f0f0570f2a9 100644
--- a/config/src/tests/print/print.cpp
+++ b/config/src/tests/print/print.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/config.h>
#include <vespa/config/print.h>
#include <vespa/config/print/fileconfigreader.h>
@@ -82,10 +83,12 @@ TEST_F("requireThatCanLoadWrittenWithConfigFormat", RawFixture<MyConfig>) {
}
TEST("requireThatAllFieldsArePrintedCorrectly") {
- std::unique_ptr<MotdConfig> cfg = ConfigGetter<MotdConfig>::getConfig("motd", FileSpec("motd.cfg"));
+ std::unique_ptr<MotdConfig> cfg = ConfigGetter<MotdConfig>::getConfig(
+ "motd", FileSpec(vespalib::TestApp::GetSourceDirectory() + "motd.cfg"));
FileConfigWriter writer("motd2.cfg");
ASSERT_TRUE(writer.write(*cfg, FileConfigFormatter()));
- std::unique_ptr<MotdConfig> cfg2 = ConfigGetter<MotdConfig>::getConfig("motd2", FileSpec("motd2.cfg"));
+ std::unique_ptr<MotdConfig> cfg2 = ConfigGetter<MotdConfig>::getConfig(
+ "motd2", FileSpec("motd2.cfg"));
ASSERT_TRUE(*cfg2 == *cfg);
}