]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
2003-04-02 Havoc Pennington <hp@redhat.com>
authorHavoc Pennington <hp@redhat.com>
Thu, 3 Apr 2003 00:01:15 +0000 (00:01 +0000)
committerHavoc Pennington <hp@redhat.com>
Thu, 3 Apr 2003 00:01:15 +0000 (00:01 +0000)
* 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.

ChangeLog
bus/Makefile.am
dbus/Makefile.am
test/Makefile.am
test/data/valid-config-files/session.conf [deleted file]
test/data/valid-config-files/system.conf [deleted file]
test/fix-standard-tests.sh [deleted file]

index 2340ba967b5c5dcaf3f635fc569115395d0ccde9..025e50f7cd71b4bf14da07a257bd84e38acbfe9c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+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
index 1b09c5c87c5dde06bd8b12077ed694f47315bc19..903195dd18837a91a8629dd15aa0597042e1711b 100644 (file)
@@ -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=
index 9f2f2e7dfd5662bea0b68431840f16eea01030ea..27293807a91d4396eccb04fd0ac409fc8204d03d 100644 (file)
@@ -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=
index 5d67283b402ad02202e3a5759026afd9e929f726..3ca62d657a7f44eafbf9df9b0e57afcd7f73594b 100644 (file)
@@ -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 (file)
index fe7aa5f..0000000
+++ /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 (file)
index e2c7ab7..0000000
+++ /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 (executable)
index 80e6dae..0000000
+++ /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