Commit 7f9eb9ce authored by Ralf Habacker's avatar Ralf Habacker

Make sure ctest on Windows uses the currently built dbus library

The ctest application is usually not installed in the dbus build
directory. If an older dbus library is contained in this path, it will
be used instead of the currently built one, which can lead to runtime
errors (e.g.: c0000139) if the internal dbus API differs.
parent 85253791
......@@ -484,6 +484,12 @@ add_definitions(${DBUS_BUS_CFLAGS})
if (DBUS_BUILD_TESTS)
# set variables used for the .in files (substituted by configure_file) in test/data:
set(DBUS_TEST_EXEC ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN})
# Working directory for build-time tests, so that they'll pick up
# the correct libdbus-1-3.dll on Windows.
# This happens to be the same as DBUS_TEST_EXEC, but its meaning is
# different, and it has no direct Autotools equivalent (Autotools
# tests automatically get their own ${builddir} as working directory).
set(DBUS_TEST_WORKING_DIR ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN})
set(DBUS_TEST_DATA ${Z_DRIVE_IF_WINE}${CMAKE_BINARY_DIR}/test/data)
set(DBUS_TEST_DAEMON ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-daemon${EXEEXT})
set(DBUS_TEST_DBUS_LAUNCH ${Z_DRIVE_IF_WINE}${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${IDE_BIN}/dbus-launch${EXEEXT})
......
......@@ -54,7 +54,11 @@ macro(add_test_executable _target _source)
add_test(NAME ${_target} COMMAND ${TEST_WRAPPER} ${Z_DRIVE_IF_WINE}$<TARGET_FILE:${_target}> --tap)
endif()
else()
add_test(NAME ${_target} COMMAND $<TARGET_FILE:${_target}> --tap)
add_test(
NAME ${_target}
COMMAND $<TARGET_FILE:${_target}> --tap
WORKING_DIRECTORY ${DBUS_TEST_WORKING_DIR}
)
endif()
set(_env)
list(APPEND _env "DBUS_SESSION_BUS_ADDRESS=")
......@@ -94,6 +98,7 @@ macro(add_session_test_executable _target _source)
--dbus-daemon=${DBUS_TEST_DAEMON}
${Z_DRIVE_IF_WINE}$<TARGET_FILE:${_target}>
--tap
WORKING_DIRECTORY ${DBUS_TEST_WORKING_DIR}
)
set(_env)
list(APPEND _env "DBUS_SESSION_BUS_PID=")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment