diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/Makefile.am | 75 | ||||
| -rw-r--r-- | test/data/valid-config-files/session.conf | 31 | ||||
| -rw-r--r-- | test/data/valid-config-files/system.conf | 20 | ||||
| -rwxr-xr-x | test/fix-standard-tests.sh | 8 | 
4 files changed, 59 insertions, 75 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index 5d67283b..3ca62d65 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -44,24 +44,67 @@ 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 +EXTRA_DIST= + +## keep these in creation order, i.e. uppermost dirs first  +TESTDIRS=					\ +	data					\ +	data/valid-messages			\ +	data/invalid-messages			\ +	data/incomplete-messages		\ +	data/auth				\ +	data/sha-1				\ +	data/valid-config-files			\ +	data/valid-config-files/basic.d + +FIND_TESTS=find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt" -o -name "*.conf"  dist-hook: -	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" -o -name "*.conf"` ;	   \ -        for F in $$FILES; do									   \ -                echo '-- Disting file '$$F ;							   \ -		cp $$F $(distdir)/$$F ;								   \ +	for D in $(TESTDIRS); do						\ +		test -d $(distdir)/$$D || mkdir $(distdir)/$$D || exit 1 ;	\ +	done ;									\ +	FILES=`$(FIND_TESTS)` ;							\ +        for F in $$FILES; do							\ +                echo '-- Disting file '$$F ;					\ +		cp $$F $(distdir)/$$F || exit 1 ;				\  	done +## copy tests to builddir so that generated tests and static tests  +## are all in one place. +all-local: +	for D in $(TESTDIRS); do								\ +		test -d $(top_builddir)/test/$$D || mkdir $(top_builddir)/test/$$D || exit 1 ;	\ +	done ;											\ +	if test $(srcdir) != . ; then								\ +		FILES=`(cd $(srcdir) && $(FIND_TESTS))` ;					\ +	        for F in $$FILES; do								\ +			SRC=$(srcdir)/$$F ;							\ +			DEST=$(top_builddir)/test/$$F ;						\ +	                echo '-- Copying test file '$$F ;					\ +			cp $$SRC $$DEST || exit 1 ;						\ +			chmod u+w $$DEST || exit 1 ;						\ +		done ;										\ +	else											\ +		echo '-- No need to copy test data as srcdir = builddir' ;			\ +	fi ;											\ +	echo '-- Copying' $(top_builddir)/bus/*.conf 'to test directory' ;			\ +	cp $(top_builddir)/bus/*.conf $(top_builddir)/test/data/valid-config-files || exit 1 ;  \ +	chmod u+w $(top_builddir)/test/data/valid-config-files/*.conf || exit 1 -### 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 +## this doesn't clean generated test data files when srcdir=builddir +clean-local: +	if test $(srcdir) != . ; then					\ +		FILES=`(cd $(top_builddir)/test && $(FIND_TESTS))` ;	\ +	        for F in $$FILES; do					\ +			DEST=$(top_builddir)/test/$$F ;			\ +	                echo '-- Deleting test file '$$F ;		\ +			rm $$DEST || exit 1 ;				\ +		done ;							\ +		REVERSEDIRS= ;						\ +		for D in $(TESTDIRS); do				\ +			REVERSEDIRS="$$D $$REVERSEDIRS" ;		\ +		done ;							\ +		for D in $$REVERSEDIRS; do				\ +			rmdir $(top_builddir)/test/$$D || exit 1 ;	\ +		done ;							\ +	fi diff --git a/test/data/valid-config-files/session.conf b/test/data/valid-config-files/session.conf deleted file mode 100644 index fe7aa5f0..00000000 --- a/test/data/valid-config-files/session.conf +++ /dev/null @@ -1,31 +0,0 @@ -<!-- 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 deleted file mode 100644 index e2c7ab7f..00000000 --- a/test/data/valid-config-files/system.conf +++ /dev/null @@ -1,20 +0,0 @@ -<!-- 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 deleted file mode 100755 index 80e6dae1..00000000 --- a/test/fix-standard-tests.sh +++ /dev/null @@ -1,8 +0,0 @@ -#! /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  | 
