From: Marcin Siodelski Date: Fri, 31 Aug 2018 15:34:14 +0000 (+0200) Subject: [#92,!13] Applied a couple of fixes in headers inclusion and linking. X-Git-Tag: gitlab116_base~23 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dfad55d82e7cb95060e3fe2513b5268675405e74;p=thirdparty%2Fkea.git [#92,!13] Applied a couple of fixes in headers inclusion and linking. --- diff --git a/src/lib/cql/testutils/cql_schema.cc b/src/lib/cql/testutils/cql_schema.cc index 0f004d1c53..26586b0b15 100644 --- a/src/lib/cql/testutils/cql_schema.cc +++ b/src/lib/cql/testutils/cql_schema.cc @@ -9,7 +9,7 @@ #include #include -#include +#include #include diff --git a/src/lib/database/tests/Makefile.am b/src/lib/database/tests/Makefile.am index 7214be511f..7a0b74d984 100644 --- a/src/lib/database/tests/Makefile.am +++ b/src/lib/database/tests/Makefile.am @@ -27,6 +27,7 @@ libdatabase_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) libdatabase_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS) libdatabase_unittests_LDADD = $(top_builddir)/src/lib/database/libkea-database.la +libdatabase_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la libdatabase_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la libdatabase_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la libdatabase_unittests_LDADD += $(top_builddir)/src/lib/util/threads/libkea-threads.la diff --git a/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc b/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc index 1dbbd4473f..5900136d48 100644 --- a/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc +++ b/src/lib/dhcpsrv/tests/cql_host_data_source_unittest.cc @@ -20,12 +20,12 @@ #include #include #include +#include #include #include #include #include #include -#include #include #include #include @@ -41,6 +41,7 @@ using namespace isc; using namespace isc::asiolink; using namespace isc::db; +using namespace isc::db::test; using namespace isc::dhcp; using namespace isc::dhcp::test; using namespace isc::data; diff --git a/src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc b/src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc index 676116dac8..21441fd4f2 100644 --- a/src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc +++ b/src/lib/dhcpsrv/tests/cql_lease_mgr_unittest.cc @@ -20,11 +20,11 @@ #include #include +#include #include #include #include #include -#include #include #include @@ -38,6 +38,7 @@ using namespace isc; using namespace isc::asiolink; using namespace isc::db; +using namespace isc::db::test; using namespace isc::dhcp; using namespace isc::dhcp::test; using namespace std; diff --git a/src/lib/dhcpsrv/tests/host_mgr_unittest.cc b/src/lib/dhcpsrv/tests/host_mgr_unittest.cc index 46240eed85..ac2afc3f14 100644 --- a/src/lib/dhcpsrv/tests/host_mgr_unittest.cc +++ b/src/lib/dhcpsrv/tests/host_mgr_unittest.cc @@ -22,7 +22,7 @@ #endif #if defined HAVE_CQL -#include +#include #endif #include diff --git a/src/lib/dhcpsrv/testutils/cql_schema.cc b/src/lib/dhcpsrv/testutils/cql_schema.cc deleted file mode 100644 index 2df5324530..0000000000 --- a/src/lib/dhcpsrv/testutils/cql_schema.cc +++ /dev/null @@ -1,87 +0,0 @@ -// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC") -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#include - -#include - -#include -#include - -#include - -#include -#include -#include -#include - -namespace isc { -namespace dhcp { -namespace test { - -const char* CQL_VALID_TYPE = "type=cql"; - -std::string -validCqlConnectionString() { - return (connectionString(CQL_VALID_TYPE, VALID_NAME, VALID_HOST, VALID_USER, - VALID_PASSWORD)); -} - -bool -softWipeEnabled() { - const char* const env = getenv("KEA_TEST_CASSANDRA_WIPE"); - if (env && (std::string(env) == std::string("soft"))) { - return (true); - } - - return (false); -} - -void -destroyCqlSchema(bool force_wipe, bool show_err) { - if (force_wipe || !softWipeEnabled()) { - // Do full wipe - runCqlScript(DATABASE_SCRIPTS_DIR, "cql/dhcpdb_drop.cql", show_err); - } else { - // do soft wipe (just remove the data, not the structures) - runCqlScript(DATABASE_SCRIPTS_DIR, "cql/soft_wipe.cql", show_err); - } -} - -void -createCqlSchema(bool force_wipe, bool show_err) { - if (force_wipe || !softWipeEnabled()) { - runCqlScript(DATABASE_SCRIPTS_DIR, "cql/dhcpdb_create.cql", show_err); - } -} - -void -runCqlScript(const std::string& path, - const std::string& script_name, - bool show_err) { - std::ostringstream cmd; - cmd << "cqlsh -u keatest -p keatest -k keatest"; - if (!show_err) { - cmd << " 2>/dev/null "; - } - - cmd << " -f"; - - if (!path.empty()) { - cmd << path << "/"; - } - - cmd << script_name; - - int32_t retval = ::system(cmd.str().c_str()); - if (retval) { - std::cerr << "runCqlSchema failed:" << cmd.str() << std::endl; - } -} - -} // namespace test -} // namespace dhcp -} // namespace isc diff --git a/src/lib/dhcpsrv/testutils/cql_schema.h b/src/lib/dhcpsrv/testutils/cql_schema.h deleted file mode 100644 index d47a3d23c1..0000000000 --- a/src/lib/dhcpsrv/testutils/cql_schema.h +++ /dev/null @@ -1,95 +0,0 @@ -// Copyright (C) 2015-2018 Internet Systems Consortium, Inc. ("ISC") -// -// This Source Code Form is subject to the terms of the Mozilla Public -// License, v. 2.0. If a copy of the MPL was not distributed with this -// file, You can obtain one at http://mozilla.org/MPL/2.0/. - -#ifndef TEST_CQL_SCHEMA_H -#define TEST_CQL_SCHEMA_H - -#include -#include -#include - -namespace isc { -namespace dhcp { -namespace test { - -extern const char* CQL_VALID_TYPE; - -/// Return valid connection string -/// -/// @return valid CQL connection string. -std::string validCqlConnectionString(); - -/// @brief Clear everything from the database -/// -/// Submits the current schema drop script: -/// -/// /cql/dhcpdb_drop.cql -/// -/// to the unit test CQL database. If the script fails, the invoking test -/// will fail. The output of stderr is suppressed unless the parameter, -/// show_err is true. -/// -/// @param force_wipe forces wipe of the database, even if -/// KEA_TEST_CASSANDRA_WIPE is set. -/// @param show_err flag which governs whether or not stderr is suppressed. -void destroyCqlSchema(bool force_wipe, bool show_err = false); - -/// @brief Create the CQL Schema -/// -/// Submits the current schema creation script: -/// -/// /cql/dhcpdb_create.cql -/// -/// to the unit test CQL database. If the script fails, the invoking test -/// will fail. The output of stderr is suppressed unless the parameter, -/// show_err is true. -/// -/// @param force_wipe forces wipe of the database, even if -/// KEA_TEST_CASSANDRA_WIPE is set. -/// @param show_err flag which governs whether or not stderr is suppressed. -void createCqlSchema(bool force_wipe, bool show_err = false); - -/// @brief Run a CQL script against the CQL unit test database -/// -/// Submits the given CQL script to CQL via cqlsh CLI. The output of -/// stderr is suppressed unless the parameter, show_err is true. The is done -/// to suppress warnings that might otherwise make test output needlessly -/// noisy. A gtest assertion occurs if the script fails to execute. -/// -/// @param path - path (if not blank) of the script to execute -/// @param script_name - file name of the path to execute -/// @param show_err flag which governs whether or not stderr is suppressed. -void runCqlScript(const std::string& path, const std::string& script_name, - bool show_err); - -/// @brief Returns status if the soft-wipe is enabled or not. -/// -/// In some deployments (In case of Tomek's dev system) Cassandra tests take -/// a very long time to execute. This was traced back to slow table/indexes -/// creation/deletion. With full wipe and recreation of all structures, it -/// took over 60 seconds for each test to execute. To avoid this problem, a -/// feature called soft-wipe has been implemented. If enabled, it does not -/// remove the structures, just the data from essential tables. To enable -/// it set KEA_TEST_CASSANDRA_WIPE environment variable to 'soft'. Make sure -/// that the database schema is set up properly before running in soft-wipe -/// mode. -/// -/// For example to use soft-wipe mode, you can: -/// -/// $ cqlsh -u keatest -p keatest -k keatest -/// -f src/share/database/scripts/cql/dhcpdb_create.cql -/// $ export KEA_TEST_CASSANDRA_WIPE=soft -/// $ cd src/lib/dhcpsrv -/// $ make -j9 -/// $ tests/libdhcpsrv_unittests --gtest_filter=CqlLeaseMgrTest.* -/// -/// @return true if soft-wipe is enabled, false otherwise -bool softWipeEnabled(); -}; -}; -}; - -#endif diff --git a/src/lib/pgsql/tests/Makefile.am b/src/lib/pgsql/tests/Makefile.am index 6dfe25ce98..f266ad2d39 100644 --- a/src/lib/pgsql/tests/Makefile.am +++ b/src/lib/pgsql/tests/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib -AM_CPPFLAGS += $(BOOST_INCLUDES) +AM_CPPFLAGS += $(BOOST_INCLUDES) $(PGSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS)