[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