class ForwardTest : public ::testing::Test {
protected:
- ForwardTest() : listen_fd_(-1), forwarder_(TEST_UNIX_FILE),
+
+ /// @brief Returns socket path (using either hardcoded path or env variable)
+ /// @return path to the unix socket
+ std::string getSocketPath() {
+
+ std::string socket_path;
+ const char* env = getenv("KEA_SOCKET_TEST_DIR");
+ if (env) {
+ socket_path = string(env) + "/test.unix";
+ } else {
+ socket_path = string(TEST_DATA_BUILDDIR) + "/test.unix";
+ }
+ return (socket_path);
+ }
+
+ ForwardTest() : listen_fd_(-1), forwarder_(getSocketPath()),
large_text_(65535, 'a'),
- test_un_len_(2 + strlen(TEST_UNIX_FILE))
+ test_un_len_(2 + strlen(getSocketPath().c_str()))
{
- remove(TEST_UNIX_FILE);
+ std::string unix_file = getSocketPath();
+
- unlink(unix_file.c_str());
++ remove(unix_file.c_str());
test_un_.sun_family = AF_UNIX;
- strncpy(test_un_.sun_path, TEST_UNIX_FILE, sizeof(test_un_.sun_path));
+ strncpy(test_un_.sun_path, unix_file.c_str(), sizeof(test_un_.sun_path));
#ifdef HAVE_SA_LEN
test_un_.sun_len = test_un_len_;
#endif
if (listen_fd_ != -1) {
close(listen_fd_);
}
- remove(TEST_UNIX_FILE);
- unlink(getSocketPath().c_str());
++ remove(getSocketPath().c_str());
}
// Start an internal "socket session server".