Make sure tests run with a temporary XDG_RUNTIME_DIR
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 19 Feb 2013 16:39:38 +0000 (16:39 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Mon, 6 Jan 2014 15:34:46 +0000 (15:34 +0000)
We don't want the regression tests' "session" getting mixed up in
system-wide "sessions". This doesn't actually matter yet, but it is
likely to matter in future.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61301
Reviewed-by: Chengwei Yang <chengwei.yang@intel.com>
[merged with earlier line-wrapping of TESTS_ENVIRONMENT -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
test/Makefile.am
test/name-test/Makefile.am
test/name-test/run-test-systemserver.sh
test/name-test/run-test.sh

index 870ce32..426a72e 100644 (file)
@@ -149,11 +149,13 @@ endif DBUS_WITH_GLIB
 
 installcheck_tests =
 installcheck_environment = \
+       XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR \
        DBUS_TEST_DAEMON=$(DESTDIR)$(DBUS_DAEMONDIR)/dbus-daemon$(EXEEXT) \
        DBUS_TEST_HOMEDIR=@abs_top_builddir@/dbus \
        DBUS_TEST_SYSCONFDIR=$(DESTDIR)$(sysconfdir)
 
 TESTS_ENVIRONMENT = \
+       XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR \
        DBUS_BLOCK_ON_ABORT=1 \
        DBUS_FATAL_WARNINGS=1 \
        DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \
@@ -368,7 +370,7 @@ imported_data = \
        $(NULL)
 
 noinst_DATA = $(imported_data)
-CLEANFILES = $(noinst_DATA)
+CLEANFILES = $(noinst_DATA) XDG_RUNTIME_DIR
 
 $(imported_data): data/valid-config-files/%.conf: $(top_builddir)/bus/%.conf
        $(AM_V_at)$(MKDIR_P) data/valid-config-files
index da41e58..8ed1e16 100644 (file)
@@ -19,7 +19,9 @@ TESTS_ENVIRONMENT = \
         PYTHON=@PYTHON@ \
         DBUS_TEST_DATA=@abs_top_builddir@/test/data \
         DBUS_TEST_DAEMON=@abs_top_builddir@/bus/dbus-daemon$(EXEEXT) \
+        XDG_RUNTIME_DIR=@abs_top_builddir@/test/XDG_RUNTIME_DIR \
         $(NULL)
+
 TESTS=run-test.sh run-test-systemserver.sh
 else
 TESTS=
index afd1f04..90c0372 100755 (executable)
@@ -30,6 +30,11 @@ if test -n "$DBUS_TEST_MONITOR"; then
   dbus-monitor --session &
 fi
 
+XDG_RUNTIME_DIR="$DBUS_TOP_BUILDDIR"/test/XDG_RUNTIME_DIR
+test -d "$XDG_RUNTIME_DIR" || mkdir "$XDG_RUNTIME_DIR"
+chmod 0700 "$XDG_RUNTIME_DIR"
+export XDG_RUNTIME_DIR
+
 echo "running test-expected-echo-fail"
 ${DBUS_TOP_BUILDDIR}/libtool --mode=execute $DEBUG $DBUS_TOP_BUILDDIR/tools/dbus-send --print-reply --dest=org.freedesktop.DBus.TestSuiteEchoService /org/freedesktop/TestSuite org.freedesktop.TestSuite.Echo string:hi >echo-error-output.tmp 2>&1
 if ! grep -q 'DBus.Error' echo-error-output.tmp; then
index cad5937..84379c4 100755 (executable)
@@ -30,6 +30,11 @@ if test -n "$DBUS_TEST_MONITOR"; then
   dbus-monitor --session &
 fi
 
+XDG_RUNTIME_DIR="$DBUS_TOP_BUILDDIR"/test/XDG_RUNTIME_DIR
+test -d "$XDG_RUNTIME_DIR" || mkdir "$XDG_RUNTIME_DIR"
+chmod 0700 "$XDG_RUNTIME_DIR"
+export XDG_RUNTIME_DIR
+
 echo "running test-ids"
 ${DBUS_TOP_BUILDDIR}/libtool --mode=execute $DEBUG $DBUS_TOP_BUILDDIR/test/name-test/test-ids || die "test-ids failed"