Commit 5364beac authored by Havoc Pennington's avatar Havoc Pennington

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.
parent 21cef58b
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
......
......@@ -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=
......
......@@ -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=
......
......@@ -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
<!-- 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>
<!-- 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>
#! /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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment