From c7f3df027179f191a409f90582743ff3041f0bd2 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Mon, 8 Feb 2016 20:09:58 +0000 Subject: [PATCH] Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH Instead of using $DBUS_USE_TEST_BINARY to control whether to use the hard-coded test binary TEST_BUS_LAUNCH_BINARY, we can just use $DBUS_TEST_DBUS_LAUNCH to control what we launch directly, as we were already doing for $DBUS_TEST_DAEMON. Signed-off-by: Simon McVittie Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899 Reviewed-by: Ralf Habacker --- cmake/CMakeLists.txt | 1 - cmake/config.h.cmake | 1 - cmake/modules/Macros.cmake | 1 + configure.ac | 3 --- dbus/dbus-sysdeps-unix.c | 8 ++++---- test/Makefile.am | 2 ++ test/name-test/Makefile.am | 1 + tools/dbus-launch.c | 6 +++--- tools/run-with-tmp-session-bus.sh | 5 ----- 9 files changed, 11 insertions(+), 17 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index d85a085..5bb4240 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -506,7 +506,6 @@ if (DBUS_BUILD_TESTS) set(DBUS_TEST_DATA ${CMAKE_BINARY_DIR}/test/data) set(TEST_SOCKET_DIR ${DBUS_SESSION_SOCKET_DIR} ) set(TEST_LAUNCH_HELPER_BINARY ${EXECUTABLE_OUTPUT_PATH}/dbus-daemon-launch-helper-test) - set(TEST_BUS_LAUNCH_BINARY ${EXECUTABLE_OUTPUT_PATH}/dbus-launch${EXEEXT}) if (UNIX) set (TEST_LISTEN "unix:tmpdir=${TEST_SOCKET_DIR}") endif (UNIX) diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake index d2af3c9..c498362 100644 --- a/cmake/config.h.cmake +++ b/cmake/config.h.cmake @@ -33,7 +33,6 @@ // test binaries #define DBUS_TEST_EXEC "@DBUS_TEST_EXEC@" #define DBUS_EXEEXT "@EXEEXT@" -#cmakedefine TEST_BUS_LAUNCH_BINARY "@TEST_BUS_LAUNCH_BINARY@" /* Some dbus features */ #cmakedefine DBUS_ENABLE_ANSI 1 diff --git a/cmake/modules/Macros.cmake b/cmake/modules/Macros.cmake index 149cd98..6ca0648 100644 --- a/cmake/modules/Macros.cmake +++ b/cmake/modules/Macros.cmake @@ -62,6 +62,7 @@ macro(add_test_executable _target _source) list(APPEND _env "DBUS_SESSION_BUS_ADDRESS=") list(APPEND _env "DBUS_FATAL_WARNINGS=1") list(APPEND _env "DBUS_TEST_DATA=${PREFIX}${CMAKE_BINARY_DIR}/test/data") + list(APPEND _env "DBUS_TEST_DBUS_LAUNCH=${PREFIX}${CMAKE_BINARY_DIR}/bin/dbus-launch${EXEEXT}") list(APPEND _env "DBUS_TEST_HOMEDIR=${PREFIX}${CMAKE_BINARY_DIR}/dbus") set_tests_properties(${_target} PROPERTIES ENVIRONMENT "${_env}") endmacro(add_test_executable) diff --git a/configure.ac b/configure.ac index 18236c0..03317b8 100644 --- a/configure.ac +++ b/configure.ac @@ -1692,9 +1692,6 @@ AC_DEFINE_UNQUOTED([DBUS_TEST_EXEC], ["$DBUS_TEST_EXEC"], AC_DEFINE_UNQUOTED([DBUS_EXEEXT], ["$EXEEXT"], [Extension for executables, typically empty or .exe]) -AC_DEFINE_UNQUOTED(TEST_BUS_LAUNCH_BINARY, ["$DBUS_PWD/tools/dbus-launch$EXEEXT"], - [Full path to the dbus-launch in the builddir]) - ## Export the non-setuid external helper TEST_LAUNCH_HELPER_BINARY="$DBUS_PWD/bus/dbus-daemon-launch-helper-test$EXEEXT" AC_SUBST(TEST_LAUNCH_HELPER_BINARY) diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index a963412..6b9e50b 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -3671,7 +3671,7 @@ _dbus_get_autolaunch_address (const char *scope, * but that's done elsewhere, and if it worked, this function wouldn't * be called.) */ const char *display; - char *progpath; + const char *progpath; char *argv[6]; int i; DBusString uuid; @@ -3716,9 +3716,9 @@ _dbus_get_autolaunch_address (const char *scope, } #ifdef DBUS_ENABLE_EMBEDDED_TESTS - if (_dbus_getenv ("DBUS_USE_TEST_BINARY") != NULL) - progpath = TEST_BUS_LAUNCH_BINARY; - else + progpath = _dbus_getenv ("DBUS_TEST_DBUS_LAUNCH"); + + if (progpath == NULL) #endif progpath = DBUS_BINDIR "/dbus-launch"; /* diff --git a/test/Makefile.am b/test/Makefile.am index 605170e..0efd204 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -178,6 +178,7 @@ installcheck_tests = installcheck_environment = \ export XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR; \ export DBUS_TEST_DAEMON=$(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT); \ + export DBUS_TEST_DBUS_LAUNCH=$(DESTDIR)$(bindir)/dbus-launch$(EXEEXT); \ export DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus; \ export DBUS_TEST_DATADIR=$(DESTDIR)$(datadir); \ ${NULL} @@ -186,6 +187,7 @@ AM_TESTS_ENVIRONMENT = \ export XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR; \ export DBUS_FATAL_WARNINGS=1; \ export DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT); \ + export DBUS_TEST_DBUS_LAUNCH=@abs_top_builddir@/tools/dbus-launch$(EXEEXT); \ export DBUS_TEST_DATA=@abs_top_builddir@/test/data; \ export DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus; \ $(NULL) diff --git a/test/name-test/Makefile.am b/test/name-test/Makefile.am index 3b7fcc6..fae2892 100644 --- a/test/name-test/Makefile.am +++ b/test/name-test/Makefile.am @@ -25,6 +25,7 @@ AM_TESTS_ENVIRONMENT = \ export PYTHON=@PYTHON@; \ export DBUS_TEST_DATA=@abs_top_builddir@/test/data; \ export DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT); \ + export DBUS_TEST_DBUS_LAUNCH=@abs_top_builddir@/tools/dbus-launch$(EXEEXT); \ export XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR; \ $(NULL) diff --git a/tools/dbus-launch.c b/tools/dbus-launch.c index 0f1e6ed..1b65502 100644 --- a/tools/dbus-launch.c +++ b/tools/dbus-launch.c @@ -1169,10 +1169,10 @@ main (int argc, char **argv) #ifdef DBUS_ENABLE_EMBEDDED_TESTS { - const char *test_daemon; /* exec from testdir */ - if (getenv ("DBUS_USE_TEST_BINARY") != NULL && - (test_daemon = getenv ("DBUS_TEST_DAEMON")) != NULL) + const char *test_daemon = getenv ("DBUS_TEST_DAEMON"); + + if (test_daemon != NULL) { if (config_file == NULL && getenv ("DBUS_TEST_DATA") != NULL) { diff --git a/tools/run-with-tmp-session-bus.sh b/tools/run-with-tmp-session-bus.sh index 94ae8fc..688f9e4 100755 --- a/tools/run-with-tmp-session-bus.sh +++ b/tools/run-with-tmp-session-bus.sh @@ -45,11 +45,6 @@ export LD_LIBRARY_PATH unset DBUS_SESSION_BUS_ADDRESS unset DBUS_SESSION_BUS_PID -# this does not actually affect dbus-run-session any more, but could be -# significant for dbus-launch as used by the autolaunch test -DBUS_USE_TEST_BINARY=1 -export DBUS_USE_TEST_BINARY - $DBUS_TOP_BUILDDIR/tools/dbus-run-session \ --config-file="$CONFIG_FILE" \ --dbus-daemon="$DBUS_TOP_BUILDDIR/bus/dbus-daemon" \ -- 2.7.4