From 55e5a91901109161186e05d3a6e959e06958bbba Mon Sep 17 00:00:00 2001 From: Arnstein Ressem Date: Tue, 23 Aug 2016 15:10:36 +0200 Subject: 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. --- config/src/tests/configgen/configgen.cpp | 4 +++- .../tests/file_subscription/file_subscription.cpp | 14 +++++++++----- config/src/tests/functiontest/functiontest.cpp | 6 +++--- config/src/tests/getconfig/getconfig.cpp | 3 ++- .../tests/legacysubscriber/legacysubscriber.cpp | 22 ++++++++++++++++------ config/src/tests/print/print.cpp | 7 +++++-- 6 files changed, 38 insertions(+), 18 deletions(-) (limited to 'config') 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 LOG_SETUP("configgen"); #include +#include #include #include "config-motd.h" using namespace config; TEST("require that config type can be compiled") { - std::unique_ptr cfg = ConfigGetter::getConfig("motd", FileSpec("motd.cfg")); + std::unique_ptr cfg = ConfigGetter::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 #include #include +#include #include #include #include @@ -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::UP fooHandle = s.subscribe(""); ConfigHandle::UP barHandle = s.subscribe(""); @@ -145,7 +147,7 @@ TEST("requireThatCanSubscribeToDirectory") { } TEST("requireThatCanSubscribeToDirectoryWithEmptyCfgFile") { - DirSpec spec("cfgemptyfile"); + DirSpec spec(vespalib::TestApp::GetSourceDirectory() + "cfgemptyfile"); ConfigSubscriber s(spec); ConfigHandle::UP fooHandle = s.subscribe(""); ConfigHandle::UP barHandle = s.subscribe(""); @@ -161,7 +163,7 @@ TEST("requireThatCanSubscribeToDirectoryWithEmptyCfgFile") { } TEST("requireThatCanSubscribeToDirectoryWithNonExistingCfgFile") { - DirSpec spec("cfgnonexistingfile"); + DirSpec spec(vespalib::TestApp::GetSourceDirectory() + "cfgnonexistingfile"); ConfigSubscriber s(spec); ConfigHandle::UP fooHandle = s.subscribe(""); ConfigHandle::UP barHandle = s.subscribe(""); @@ -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::UP barHandle = s.subscribe(""); ConfigHandle::UP foobarHandle = s.subscribe(""); @@ -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::UP fooHandle = s.subscribe("foo"); ConfigHandle::UP barHandle = s.subscribe("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 _config; LazyTestFixture(const std::string & dirName) - : _spec(dirName), + : _spec(vespalib::TestApp::GetSourceDirectory() + dirName), _subscriber(_spec), _handle(_subscriber.subscribe("")) { @@ -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 #include +#include #include #include #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 cfg = ConfigGetter::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 #include +#include #include #include #include @@ -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 cb; - s.subscribe("file:test1.cfg", &cb); + s.subscribe(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 cb; - s.subscribe("dir:testdir", &cb); + s.subscribe(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 cb2; LegacySubscriber s1, s2; - s1.subscribe("dir:testdir/foobar", &cb1); - s2.subscribe("dir:testdir/foobar", &cb2); + s1.subscribe(ConfigIdGenerator::id("dir", "testdir/foobar"), &cb1); + s2.subscribe(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 cb; - s.subscribe("file:test1.cfg", &cb); + s.subscribe(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("file:test1.cfg", &cb); + s2.subscribe(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 #include +#include #include #include #include @@ -82,10 +83,12 @@ TEST_F("requireThatCanLoadWrittenWithConfigFormat", RawFixture) { } TEST("requireThatAllFieldsArePrintedCorrectly") { - std::unique_ptr cfg = ConfigGetter::getConfig("motd", FileSpec("motd.cfg")); + std::unique_ptr cfg = ConfigGetter::getConfig( + "motd", FileSpec(vespalib::TestApp::GetSourceDirectory() + "motd.cfg")); FileConfigWriter writer("motd2.cfg"); ASSERT_TRUE(writer.write(*cfg, FileConfigFormatter())); - std::unique_ptr cfg2 = ConfigGetter::getConfig("motd2", FileSpec("motd2.cfg")); + std::unique_ptr cfg2 = ConfigGetter::getConfig( + "motd2", FileSpec("motd2.cfg")); ASSERT_TRUE(*cfg2 == *cfg); } -- cgit v1.2.3