[next] telepathy-salut: Add basic support for installed tests, similar to telepathy-idle
Simon McVittie
smcv at kemper.freedesktop.org
Mon May 12 03:56:46 PDT 2014
Module: telepathy-salut
Branch: next
Commit: 76d2ce2c16eee5a41071a1abe2092788b14f302d
URL: http://cgit.freedesktop.org/telepathy/telepathy-salut/commit/?id=76d2ce2c16eee5a41071a1abe2092788b14f302d
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon May 12 10:23:28 2014 +0100
Add basic support for installed tests, similar to telepathy-idle
---
configure.ac | 8 ++++
tests/twisted/Makefile.am | 59 ++++++++++++++++++---------
tests/twisted/tools/Makefile.am | 41 +++++++++++++++++--
tests/twisted/tools/tmp-session-bus.conf.in | 2 +-
4 files changed, 86 insertions(+), 24 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7f1be0a..9c8e362 100644
--- a/configure.ac
+++ b/configure.ac
@@ -106,6 +106,14 @@ AC_MSG_RESULT([$TEST_PYTHON])
AC_SUBST(TEST_PYTHON)
AM_CONDITIONAL([WANT_TWISTED_TESTS], test false != "$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])
+
AC_HEADER_STDC([])
AC_C_INLINE
diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am
index b3b833d..7f06b5e 100644
--- a/tests/twisted/Makefile.am
+++ b/tests/twisted/Makefile.am
@@ -53,13 +53,16 @@ TWISTED_AVAHI_TESTS = \
if WANT_TWISTED_TESTS
TWISTED_TESTS += $(TWISTED_BASIC_TESTS)
-endif
-
if USE_BACKEND_AVAHI
TWISTED_TESTS += $(TWISTED_AVAHI_TESTS)
endif
+endif
+if WANT_TWISTED_TESTS
check-local: check-coding-style check-twisted
+else
+check-local: check-coding-style
+endif
CHECK_TWISTED_SLEEP=0
@@ -92,38 +95,56 @@ salut-twisted-tests.list: Makefile
$(AM_V_GEN)echo $(TWISTED_TESTS) > $@
BUILT_SOURCES = \
- config.py \
- salut-twisted-tests.list \
- run-test.sh \
+ $(built_test_data) \
+ $(built_test_scripts) \
$(NULL)
-# We don't really use saluttestsdir 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.
+testsdir = ${datadir}/telepathy-salut-1-tests
+twistedtestsdir = ${testsdir}/twisted
+
+if ENABLE_INSTALLED_TESTS
+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![@]saluttestsdir[@]!${pkglibexecdir}/tests!' \
+ -e 's![@]saluttestsdir[@]!${testsdir}!' \
-e 's![@]TEST_PYTHON[@]!$(TEST_PYTHON)!' \
< $< > $@.tmp && \
chmod +x $@.tmp && \
mv $@.tmp $@
-EXTRA_DIST = \
+dist_test_data = \
$(TWISTED_AVAHI_TESTS) \
$(TWISTED_BASIC_TESTS) \
+ avahi/file-transfer/file_transfer_helper.py \
+ avahi/tubes/tubetestutil.py \
+ avahimock.py \
+ avahitest.py \
constants.py \
- run-test.sh.in \
+ ipv6.py
+ ns.py \
saluttest.py \
servicetest.py \
- trivialstream.py \
- avahitest.py \
- avahimock.py \
- config.py \
- ns.py \
- avahi/file-transfer/file_transfer_helper.py \
- avahi/tubes/tubetestutil.py \
+ trivialstream.py \
xmppstream.py \
- ipv6.py
+ $(NULL)
+
+EXTRA_DIST = \
+ $(dist_test_data) \
+ run-test.sh.in \
+ $(NULL)
+
+built_test_data = \
+ config.py \
+ salut-twisted-tests.list \
+ $(NULL)
+
+built_test_scripts = \
+ run-test.sh \
+ $(NULL)
CLEANFILES = \
$(BUILT_SOURCES) \
diff --git a/tests/twisted/tools/Makefile.am b/tests/twisted/tools/Makefile.am
index 97d62f7..a083f92 100644
--- a/tests/twisted/tools/Makefile.am
+++ b/tests/twisted/tools/Makefile.am
@@ -3,7 +3,13 @@ exec-with-log.sh: exec-with-log.sh.in
@chmod +x $@
%.conf: %.conf.in
- $(AM_V_GEN)sed -e "s|[@]abs_top_builddir[@]|@abs_top_builddir@|g" $< > $@
+ $(AM_V_GEN)sed -e "s|[@]servicedir[@]|@abs_top_builddir@/tests/twisted/tools|g" $< > $@
+
+servicedir = $(datadir)/dbus-1/services
+
+installed/%.conf: %.conf.in Makefile
+ @$(MKDIR_P) installed
+ $(AM_V_GEN)sed -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
@@ -19,15 +25,42 @@ service_files = im.telepathy.v1.ConnectionManager.salut.service
conf_in_files = tmp-session-bus.conf.in
conf_files = $(conf_in_files:.conf.in=.conf)
-BUILT_SOURCES = $(service_files) $(conf_files) exec-with-log.sh
+BUILT_SOURCES = \
+ $(built_test_data) \
+ $(conf_files) \
+ $(service_files) \
+ exec-with-log.sh \
+ $(NULL)
+
+dist_test_scripts = \
+ with-session-bus.sh \
+ $(NULL)
+
+dist_test_data = \
+ $(NULL)
+
+built_test_data = \
+ installed/tmp-session-bus.conf \
+ $(NULL)
EXTRA_DIST = \
- $(service_in_files) \
$(conf_in_files) \
+ $(dist_test_data) \
+ $(dist_test_scripts) \
+ $(service_in_files) \
exec-with-log.sh.in \
- with-session-bus.sh \
run_and_bt.gdb
CLEANFILES = \
$(BUILT_SOURCES) \
salut-testing.log
+
+testsdir = ${datadir}/telepathy-haze-1-tests
+twistedtestsdir = ${testsdir}/twisted
+twistedtoolsdir = ${twistedtestsdir}/tools
+
+if ENABLE_INSTALLED_TESTS
+dist_twistedtools_SCRIPTS = ${dist_test_scripts}
+dist_twistedtools_DATA = ${dist_test_data}
+twistedtools_DATA = ${built_test_data}
+endif
diff --git a/tests/twisted/tools/tmp-session-bus.conf.in b/tests/twisted/tools/tmp-session-bus.conf.in
index 84d8d65..1cde692 100644
--- a/tests/twisted/tools/tmp-session-bus.conf.in
+++ b/tests/twisted/tools/tmp-session-bus.conf.in
@@ -10,7 +10,7 @@
<listen>unix:tmpdir=/tmp</listen>
- <servicedir>@abs_top_builddir@/tests/twisted/tools</servicedir>
+ <servicedir>@servicedir@</servicedir>
<policy context="default">
<!-- Allow everything to be sent -->
More information about the telepathy-commits
mailing list