diff options
author | Havoc Pennington <hp@redhat.com> | 2003-04-03 00:01:15 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-04-03 00:01:15 +0000 |
commit | 5364beac6cbfa8793fd34c7a634528a2112787f8 (patch) | |
tree | 90535da85e55879026dd91d91ea6df433f476836 | |
parent | 21cef58bc1b46ba4d5e7371463920c7744904d32 (diff) |
2003-04-02 Havoc Pennington <hp@redhat.com>
* test/Makefile.am (all-local): add a rule to copy tests to
builddir, so we can have generated tests. Use this to remove the
silly hack for testing system.conf and session.conf. Will use this
shortly to generate .service files pointing to test binaries.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | bus/Makefile.am | 2 | ||||
-rw-r--r-- | dbus/Makefile.am | 2 | ||||
-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 |
7 files changed, 68 insertions, 77 deletions
@@ -1,5 +1,12 @@ 2003-04-02 Havoc Pennington <hp@redhat.com> + * test/Makefile.am (all-local): add a rule to copy tests to + builddir, so we can have generated tests. Use this to remove the + silly hack for testing system.conf and session.conf. Will use this + shortly to generate .service files pointing to test binaries. + +2003-04-02 Havoc Pennington <hp@redhat.com> + * dbus/dbus-string.c (set_length): fix a bug - we allocated max of current alloc and needed new length, not max of the doubled allocation and needed new length. Also, when building tests, diff --git a/bus/Makefile.am b/bus/Makefile.am index 1b09c5c8..903195dd 100644 --- a/bus/Makefile.am +++ b/bus/Makefile.am @@ -65,7 +65,7 @@ dbus_daemon_1_LDADD= \ ## so if adding tests not to be run in make check, don't add them to ## TESTS if DBUS_BUILD_TESTS -TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_srcdir)/test/data +TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data TESTS=bus-test else TESTS= diff --git a/dbus/Makefile.am b/dbus/Makefile.am index 9f2f2e7d..27293807 100644 --- a/dbus/Makefile.am +++ b/dbus/Makefile.am @@ -111,7 +111,7 @@ libdbus_1_la_LDFLAGS= -export-symbols-regex "^[^_].*" ## so if adding tests not to be run in make check, don't add them to ## TESTS if DBUS_BUILD_TESTS -TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_srcdir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus +TESTS_ENVIRONMENT=DBUS_TEST_DATA=$(top_builddir)/test/data DBUS_TEST_HOMEDIR=$(top_builddir)/dbus TESTS=dbus-test else TESTS= 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 |