[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