[next] telepathy-idle: Add support for installing tests
Simon McVittie
smcv at kemper.freedesktop.org
Mon Apr 7 09:05:00 PDT 2014
Module: telepathy-idle
Branch: next
Commit: 5cede9e392a2fabcb54678db7a2cae5fdaedb5a4
URL: http://cgit.freedesktop.org/telepathy/telepathy-idle/commit/?id=5cede9e392a2fabcb54678db7a2cae5fdaedb5a4
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Wed Apr 2 18:19:38 2014 +0100
Add support for installing tests
Put them below ${datadir} since they're architecture-independent.
---
configure.ac | 7 ++++
tests/twisted/Makefile.am | 41 ++++++++++++++------
tests/twisted/run-test.sh.in | 17 +++++---
tests/twisted/tools/Makefile.am | 36 +++++++++++++++--
.../tools/installed/tmp-session-bus.conf.in | 12 ++++++
5 files changed, 91 insertions(+), 22 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4bd36c2..b378afb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -125,6 +125,13 @@ AC_MSG_RESULT([$TEST_PYTHON])
AC_SUBST(TEST_PYTHON)
AM_CONDITIONAL([WANT_TWISTED_TESTS], test xno != x$TEST_PYTHON)
+AC_ARG_ENABLE([installed-tests],
+ [AC_HELP_STRING([--enable-installed-tests],
+ [enable as-installed regression tests])],
+ [],
+ [enable_installed_tests=no])
+AM_CONDITIONAL([ENABLE_INSTALLED_TESTS],
+ [test "x$enable_installed_tests" = xyes])
AS_AC_EXPAND(DATADIR, $datadir)
DBUS_SERVICES_DIR="$DATADIR/dbus-1/services"
diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am
index ded35b5..f74483e 100644
--- a/tests/twisted/Makefile.am
+++ b/tests/twisted/Makefile.am
@@ -59,35 +59,52 @@ check-twisted: $(BUILT_SOURCES)
IDLE_TEST_SLEEP=$$idle_test_sleep \
./run-test.sh "$(TWISTED_TESTS)"
+endif
+
idle-twisted-tests.list: Makefile
$(AM_V_GEN)echo $(TWISTED_TESTS) > $@
-BUILT_SOURCES = \
+built_test_data = \
config.py \
idle-twisted-tests.list \
+ $(NULL)
+
+built_test_scripts = \
run-test.sh \
$(NULL)
-# We don't really use idletestsdir yet - we only support uninstalled testing
-# so far - but I'm substituting it to keep the script more similar to Gabble's.
-# ${pkglibexecdir}/tests is what GNOME's InstalledTests goal recommends.
+BUILT_SOURCES = \
+ $(built_test_data) \
+ $(built_test_scripts) \
+ $(NULL)
+
+if ENABLE_INSTALLED_TESTS
+testsdir = ${datadir}/telepathy-idle-tests
+twistedtestsdir = ${testsdir}/twisted
+nobase_dist_twistedtests_DATA = $(dist_test_data)
+twistedtests_DATA = $(built_test_data)
+twistedtests_SCRIPTS = $(built_test_scripts)
+endif
+
run-test.sh: run-test.sh.in Makefile
$(AM_V_GEN)sed \
- -e 's![@]idletestsdir[@]!${pkglibexecdir}/tests!' \
+ -e 's![@]idletestsdir[@]!${testsdir}!' \
-e 's![@]TEST_PYTHON[@]!$(TEST_PYTHON)!' \
< $< > $@.tmp && \
chmod +x $@.tmp && \
mv $@.tmp $@
-endif
+dist_test_data = \
+ $(TWISTED_TESTS) \
+ constants.py \
+ idletest.py \
+ servicetest.py \
+ $(NULL)
EXTRA_DIST = \
- $(TWISTED_TESTS) \
- run-test.sh.in \
- servicetest.py \
- idletest.py \
- constants.py \
- $(NULL)
+ $(dist_test_data) \
+ run-test.sh.in \
+ $(NULL)
CLEANFILES = \
$(BUILT_SOURCES) \
diff --git a/tests/twisted/run-test.sh.in b/tests/twisted/run-test.sh.in
index 2d9f3ae..d688888 100644
--- a/tests/twisted/run-test.sh.in
+++ b/tests/twisted/run-test.sh.in
@@ -9,13 +9,18 @@ if test "x$IDLE_TEST_UNINSTALLED" = x; then
test_src="@idletestsdir@"
test_build="@idletestsdir@"
- config_file="@idletestsdir@/twisted/tools/servicedir/tmp-session-bus.conf"
+ config_file="@idletestsdir@/twisted/tools/tmp-session-bus.conf"
PYTHONPATH="@idletestsdir@/twisted"
export PYTHONPATH
IDLE_TWISTED_PATH="@idletestsdir@/twisted"
export IDLE_TWISTED_PATH
+
+ IDLE_SSL_KEY=${IDLE_TWISTED_PATH}/tools/idletest.key
+ export IDLE_SSL_KEY
+ IDLE_SSL_CERT=${IDLE_TWISTED_PATH}/tools/idletest.cert
+ export IDLE_SSL_CERT
else
if test -z "$IDLE_ABS_TOP_SRCDIR"; then
echo "IDLE_ABS_TOP_SRCDIR must be set" >&2
@@ -35,12 +40,12 @@ else
IDLE_TWISTED_PATH="${test_src}/twisted"
export IDLE_TWISTED_PATH
-fi
-IDLE_SSL_KEY=${IDLE_ABS_TOP_SRCDIR}/tests/twisted/tools/idletest.key
-export IDLE_SSL_KEY
-IDLE_SSL_CERT=${IDLE_ABS_TOP_SRCDIR}/tests/twisted/tools/idletest.cert
-export IDLE_SSL_CERT
+ IDLE_SSL_KEY=${IDLE_ABS_TOP_SRCDIR}/tests/twisted/tools/idletest.key
+ export IDLE_SSL_KEY
+ IDLE_SSL_CERT=${IDLE_ABS_TOP_SRCDIR}/tests/twisted/tools/idletest.cert
+ export IDLE_SSL_CERT
+fi
if [ -n "$1" ] ; then
list="$1"
diff --git a/tests/twisted/tools/Makefile.am b/tests/twisted/tools/Makefile.am
index e21c97a..8cf5e26 100644
--- a/tests/twisted/tools/Makefile.am
+++ b/tests/twisted/tools/Makefile.am
@@ -3,8 +3,13 @@ exec-with-log.sh: exec-with-log.sh.in
-e "s|[@]abs_top_srcdir[@]|@abs_top_srcdir@|g" $< > $@
chmod +x $@
+servicedir = $(DBUS_SERVICES_DIR)
+
%.conf: %.conf.in
- sed -e "s|[@]abs_top_builddir[@]|@abs_top_builddir@|g" $< > $@
+ @$(MKDIR_P) installed
+ sed -e "s|[@]abs_top_builddir[@]|@abs_top_builddir@|g" \
+ -e "s|[@]servicedir[@]|$(servicedir)|g" \
+ $< > $@
# We don't use the full filename for the .in because > 99 character filenames
# in tarballs are non-portable (and automake 1.8 doesn't let us build
@@ -22,14 +27,37 @@ conf_files = $(conf_in_files:.conf.in=.conf)
BUILT_SOURCES = $(service_files) $(conf_files) exec-with-log.sh
+dist_test_scripts = \
+ with-session-bus.sh \
+ $(NULL)
+
+dist_test_data = \
+ idletest.cert \
+ idletest.key \
+ $(NULL)
+
+built_test_data = \
+ installed/tmp-session-bus.conf \
+ $(NULL)
+
EXTRA_DIST = \
+ $(dist_test_data) \
+ $(dist_test_scripts) \
$(service_in_files) \
$(conf_in_files) \
+ installed/tmp-session-bus.conf.in \
exec-with-log.sh.in \
- idletest.cert \
- idletest.key \
- with-session-bus.sh
+ $(NULL)
CLEANFILES = \
$(BUILT_SOURCES) \
idle-testing.log
+
+if ENABLE_INSTALLED_TESTS
+testsdir = ${datadir}/telepathy-idle-tests
+twistedtestsdir = ${testsdir}/twisted
+twistedtoolsdir = ${twistedtestsdir}/tools
+dist_twistedtools_SCRIPTS = $(dist_test_scripts)
+dist_twistedtools_DATA = $(dist_test_data)
+twistedtools_DATA = $(built_test_data)
+endif
diff --git a/tests/twisted/tools/installed/tmp-session-bus.conf.in b/tests/twisted/tools/installed/tmp-session-bus.conf.in
new file mode 100644
index 0000000..0984f16
--- /dev/null
+++ b/tests/twisted/tools/installed/tmp-session-bus.conf.in
@@ -0,0 +1,12 @@
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <type>session</type>
+ <listen>unix:tmpdir=/tmp</listen>
+ <servicedir>@servicedir@</servicedir>
+ <policy context="default">
+ <allow send_destination="*" eavesdrop="true"/>
+ <allow eavesdrop="true"/>
+ <allow own="*"/>
+ </policy>
+</busconfig>
More information about the telepathy-commits
mailing list