AM_CPPFLAGS += $(BOOST_INCLUDES) $(CRYPTO_CFLAGS) $(CRYPTO_INCLUDES)
AM_CPPFLAGS += -DTEST_DATA_BUILDDIR=\"$(abs_top_builddir)/src/lib/config/tests\"
AM_CPPFLAGS += -DTEST_CA_DIR=\"$(srcdir)/../../asiolink/testutils/ca\"
+control_socket_dir = @runstatedir@/@PACKAGE@
+AM_CPPFLAGS += -DCONTROL_SOCKET_DIR=\"$(control_socket_dir)\"
AM_CXXFLAGS = $(KEA_CXXFLAGS)
cpp_args: [
f'-DTEST_DATA_BUILDDIR="@current_build_dir@"',
f'-DTEST_CA_DIR="@TEST_CA_DIR@"',
+ f'-DCONTROL_SOCKET_DIR="@RUNSTATEDIR_INSTALLED@"'
],
include_directories: [include_directories('.')] + INCLUDES,
link_with: [kea_util_unittests_lib, libs_testutils] + LIBS_BUILT_SO_FAR,
#include <config/command_mgr.h>
#include <config/unix_command_config.h>
#include <http/basic_auth_config.h>
+#include <util/filesystem.h>
#include <testutils/gtest_utils.h>
#include <testutils/test_to_element.h>
-#include <util/filesystem.h>
+#include <testutils/env_var_wrapper.h>
using namespace isc;
using namespace isc::asiolink;
UnixCommandConfigPtr unix_config_;
};
+TEST(SocketPathTest, socketDir) {
+ EnvVarWrapper env("KEA_CONTROL_SOCKET_DIR");
+ env.setValue("");
+
+ auto path = UnixCommandConfig::getSocketPath(true);
+ ASSERT_EQ(path, std::string(CONTROL_SOCKET_DIR));
+
+ env.setValue(TEST_DATA_BUILDDIR);
+ path = UnixCommandConfig::getSocketPath(true);
+ ASSERT_EQ(path, std::string(TEST_DATA_BUILDDIR));
+}
+
// This test verifies the default UNIX control socket configuration.
TEST_F(UnixCommandConfigTest, default) {
ElementPtr json = Element::createMap();