summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am15
-rw-r--r--test/data/valid-config-files/debug-allow-all.conf12
-rw-r--r--test/data/valid-config-files/session.conf31
-rw-r--r--test/data/valid-config-files/system.conf20
-rwxr-xr-xtest/fix-standard-tests.sh8
5 files changed, 84 insertions, 2 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index f900b021..5d67283b 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -44,13 +44,24 @@ break_loader_LDADD= $(TEST_LIBS)
#bus_test_LDADD=$(TEST_LIBS) $(top_builddir)/bus/libdbus-daemon.la
spawn_test_LDADD=$(TEST_LIBS)
+EXTRA_DIST=fix-standard-tests.sh
+
dist-hook:
- DIRS="data data/valid-messages data/invalid-messages data/incomplete-messages data/auth data/sha-1"; \
+ DIRS="data data/valid-messages data/invalid-messages data/incomplete-messages data/auth data/sha-1 data/valid-config-files"; \
for D in $$DIRS; do \
test -d $(distdir)/$$D || mkdir $(distdir)/$$D ; \
done ; \
- FILES=`find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt"` ; \
+ FILES=`find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt" -o -name "*.conf"` ; \
for F in $$FILES; do \
echo '-- Disting file '$$F ; \
cp $$F $(distdir)/$$F ; \
done
+
+
+### we want our standard session.conf and system.conf in the test suite,
+### right now we manually sync copies of them over to the test suite
+### from time to time
+update-standard-tests:
+ cp -f $(top_builddir)/bus/system.conf.in data/valid-config-files/system.conf ; \
+ cp -f $(top_builddir)/bus/session.conf.in data/valid-config-files/session.conf ; \
+ $(srcdir)/fix-standard-tests.sh
diff --git a/test/data/valid-config-files/debug-allow-all.conf b/test/data/valid-config-files/debug-allow-all.conf
new file mode 100644
index 00000000..86900ebb
--- /dev/null
+++ b/test/data/valid-config-files/debug-allow-all.conf
@@ -0,0 +1,12 @@
+<!-- Bus that listens on a debug pipe and doesn't create any restrictions -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <listen>debug-pipe:name=test-server</listen>
+ <policy context="default">
+ <allow send="*"/>
+ <allow receive="*"/>
+ <allow own="*"/>
+ </policy>
+</busconfig>
diff --git a/test/data/valid-config-files/session.conf b/test/data/valid-config-files/session.conf
new file mode 100644
index 00000000..fe7aa5f0
--- /dev/null
+++ b/test/data/valid-config-files/session.conf
@@ -0,0 +1,31 @@
+<!-- This configuration file controls the per-user-login-session message bus.
+ Add a session-local.conf and edit that rather than changing this
+ file directly. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <!-- FIXME - this is fairly complicated to fix.
+ Propose the following:
+ - add "unix:tmpdir=/tmp" which means unix domain transport
+ creates a socket with a random secure name
+ - add dbus_server_get_address() that gets the actual
+ server address
+ - add command line option or env variable to the daemon
+ causing it to print its list of addresses to a given
+ file descriptor
+ - session manager or whatever launches the session bus
+ reads the address from there and sets the env variable
+ -->
+ <listen>unix:path=/tmp/foobar</listen>
+ <policy context="default">
+ <!-- Allow everything -->
+ <allow send="*"/>
+ <allow receive="*"/>
+ <allow own="*"/>
+ </policy>
+
+ <!-- This is included last so local configuration can override what's
+ in this standard file -->
+ <include ignore_missing="yes">session-local.conf</include>
+</busconfig>
diff --git a/test/data/valid-config-files/system.conf b/test/data/valid-config-files/system.conf
new file mode 100644
index 00000000..e2c7ab7f
--- /dev/null
+++ b/test/data/valid-config-files/system.conf
@@ -0,0 +1,20 @@
+<!-- This configuration file controls the systemwide message bus.
+ Add a system-local.conf and edit that rather than changing this
+ file directly. -->
+
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <user>fixme</user>
+ <listen>unix:path=/var/run/dbus/system_bus_socket</listen>
+ <policy context="default">
+ <!-- Deny everything -->
+ <deny send="*"/>
+ <deny receive="*"/>
+ <deny own="*"/>
+ </policy>
+
+ <!-- This is included last so local configuration can override what's
+ in this standard file -->
+ <include ignore_missing="yes">system-local.conf</include>
+</busconfig>
diff --git a/test/fix-standard-tests.sh b/test/fix-standard-tests.sh
new file mode 100755
index 00000000..80e6dae1
--- /dev/null
+++ b/test/fix-standard-tests.sh
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+### this script is a lame hack used in the Makefile because
+### I couldn't figure out how to escape @EXPANDED_LOCALSTATEDIR@ etc.
+### inside the Makefile
+
+perl -pi -e "s%\@EXPANDED_LOCALSTATEDIR\@%/var%g" data/valid-config-files/system.conf
+perl -pi -e "s%\@DBUS_SYSTEM_SOCKET\@%run/dbus/system_bus_socket%g" data/valid-config-files/system.conf