]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3831] Add UT for env override
authorThomas Markwalder <tmark@isc.org>
Fri, 16 May 2025 14:00:35 +0000 (10:00 -0400)
committerThomas Markwalder <tmark@isc.org>
Mon, 19 May 2025 12:12:55 +0000 (12:12 +0000)
modified:   Makefile.am
modified:   meson.build
modified:   unix_command_config_unittests.cc

src/lib/config/tests/Makefile.am
src/lib/config/tests/meson.build
src/lib/config/tests/unix_command_config_unittests.cc

index ce87597893d3b12385dbc54c75357172076c5cb4..315698bb74d575e6225abb8c11b6e5d1171986d6 100644 (file)
@@ -4,6 +4,8 @@ AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
 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)
 
index 276f21cb03648e8dd998c587116a72e7a711ea71..61d05b37fc19f6a5fd2cd70443bbfb4fab85abd5 100644 (file)
@@ -22,6 +22,7 @@ kea_config_tests = executable(
     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,
index d7e5147827d9f64b36b4d45af0a0a0c0d6d88936..b0965c065d25553d11852e98d90351e9670fb898 100644 (file)
@@ -9,9 +9,10 @@
 #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;
@@ -59,6 +60,18 @@ public:
     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();