From 540ac557708a1a41695583a4f90169d328e1dace Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Tue, 10 Sep 2013 15:19:02 +0200 Subject: [PATCH 6/7] Run regression tests under the run-test.sh "driver" As well as making the tests pass under Automake 1.13, this lays the groundwork for OSTree-style "installed tests" later. https://bugs.freedesktop.org/show_bug.cgi?id=69216 --- tests/twisted/Makefile.am | 59 ++++++++++++++++++++++++++++++-------------- tests/twisted/run-test.sh.in | 43 ++++++++++++++++++-------------- 2 files changed, 64 insertions(+), 38 deletions(-) diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am index a78a99f..1a24b95 100644 --- a/tests/twisted/Makefile.am +++ b/tests/twisted/Makefile.am @@ -61,11 +61,6 @@ TWISTED_AVAHI_TESTS = \ TWISTED_AVAHI_OLPC_TESTS = \ avahi/olpc-activity-announcements.py -TESTS = - -TESTS_ENVIRONMENT = \ - PYTHONPATH=@abs_top_srcdir@/tests/twisted:@abs_top_builddir@/tests/twisted:$(PYTHONPATH) - if WANT_TWISTED_TESTS TWISTED_TESTS += $(TWISTED_BASIC_TESTS) endif @@ -80,20 +75,20 @@ endif check-local: check-coding-style check-twisted -check-twisted: +CHECK_TWISTED_SLEEP=0 + +check-twisted: $(BUILT_SOURCES) $(MAKE) -C tools - rm -f tools/core - rm -f tools/salut-testing.log - if ! test -n "$$SALUT_TEST_REAL_AVAHI"; then \ - also_for_system="--also-for-system"; \ + if test "x$(CHECK_TWISTED_SLEEP)" = x0; then \ + salut_test_sleep= ; \ + else \ + salut_test_sleep=--sleep=$(CHECK_TWISTED_SLEEP); \ fi; \ - sh $(srcdir)/tools/with-session-bus.sh $$also_for_system --config-file=tools/tmp-session-bus.conf -- $(MAKE) check-TESTS \ - TESTS="$(TWISTED_TESTS)" \ - TESTS_ENVIRONMENT="$(TESTS_ENVIRONMENT) $(TEST_PYTHON)" - @if test -e tools/core; then\ - echo "Core dump exists: tools/core";\ - exit 1;\ - fi + SALUT_TEST_UNINSTALLED=1 \ + SALUT_ABS_TOP_SRCDIR=@abs_top_srcdir@ \ + SALUT_ABS_TOP_BUILDDIR=@abs_top_builddir@ \ + SALUT_TEST_SLEEP=$$salut_test_sleep \ + ./run-test.sh "$(TWISTED_TESTS)" if ENABLE_PLUGINS PLUGINS_ENABLED_PYBOOL = True @@ -107,7 +102,28 @@ config.py: Makefile echo "PLUGINS_ENABLED = $(PLUGINS_ENABLED_PYBOOL)"; \ } > $@ -BUILT_SOURCES = config.py +salut-twisted-tests.list: Makefile + $(AM_V_GEN)echo $(TWISTED_TESTS) > $@ + +BUILT_SOURCES = \ + config.py \ + salut-twisted-tests.list \ + run-test.sh \ + $(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. +# +# Similarly, Gabble supports TEST_PYTHON differing from PYTHON for historical +# reasons, but we don't do that here. +run-test.sh: run-test.sh.in Makefile + $(AM_V_GEN)sed \ + -e 's![@]saluttestsdir[@]!${pkglibexecdir}/tests!' \ + -e 's![@]TEST_PYTHON[@]!$(PYTHON)!' \ + < $< > $@.tmp && \ + chmod +x $@.tmp && \ + mv $@.tmp $@ EXTRA_DIST = \ $(TWISTED_AVAHI_TESTS) \ @@ -127,7 +143,12 @@ EXTRA_DIST = \ xmppstream.py \ ipv6.py -CLEANFILES = salut-[1-9]*.log *.pyc */*.pyc config.py +CLEANFILES = \ + $(BUILT_SOURCES) \ + salut-[1-9]*.log \ + *.pyc \ + */*.pyc \ + $(NULL) check_misc_sources = $(TESTS) diff --git a/tests/twisted/run-test.sh.in b/tests/twisted/run-test.sh.in index 8dd5fd6..d517ad7 100644 --- a/tests/twisted/run-test.sh.in +++ b/tests/twisted/run-test.sh.in @@ -1,54 +1,59 @@ #!/bin/sh -if test "x$GABBLE_TEST_UNINSTALLED" = x; then - script_fullname=`readlink -e "@gabbletestsdir@/twisted/run-test.sh"` +if test "x$SALUT_TEST_UNINSTALLED" = x; then + script_fullname=`readlink -e "@saluttestsdir@/twisted/run-test.sh"` if [ `readlink -e "$0"` != "$script_fullname" ] ; then echo "This script is meant to be installed at $script_fullname" >&2 exit 1 fi - test_src="@gabbletestsdir@" - test_build="@gabbletestsdir@" - config_file="@gabbletestsdir@/twisted/tools/servicedir/tmp-session-bus.conf" + test_src="@saluttestsdir@" + test_build="@saluttestsdir@" + config_file="@saluttestsdir@/twisted/tools/servicedir/tmp-session-bus.conf" - PYTHONPATH="@gabbletestsdir@/twisted" + PYTHONPATH="@saluttestsdir@/twisted" export PYTHONPATH - GABBLE_TWISTED_PATH="@gabbletestsdir@/twisted" - export GABBLE_TWISTED_PATH + SALUT_TWISTED_PATH="@saluttestsdir@/twisted" + export SALUT_TWISTED_PATH else - if test -z "$GABBLE_ABS_TOP_SRCDIR"; then - echo "GABBLE_ABS_TOP_SRCDIR must be set" >&2 + if test -z "$SALUT_ABS_TOP_SRCDIR"; then + echo "SALUT_ABS_TOP_SRCDIR must be set" >&2 exit 1 fi - if test -z "$GABBLE_ABS_TOP_BUILDDIR"; then - echo "GABBLE_ABS_TOP_BUILDDIR must be set" >&2 + if test -z "$SALUT_ABS_TOP_BUILDDIR"; then + echo "SALUT_ABS_TOP_BUILDDIR must be set" >&2 exit 1 fi - test_src="${GABBLE_ABS_TOP_SRCDIR}/tests" - test_build="${GABBLE_ABS_TOP_BUILDDIR}/tests" - config_file="${test_build}/twisted/tools/servicedir-uninstalled/tmp-session-bus.conf" + test_src="${SALUT_ABS_TOP_SRCDIR}/tests" + test_build="${SALUT_ABS_TOP_BUILDDIR}/tests" + config_file="${test_build}/twisted/tools/tmp-session-bus.conf" PYTHONPATH="${test_src}/twisted:${test_build}/twisted" export PYTHONPATH - GABBLE_TWISTED_PATH="${test_src}/twisted" - export GABBLE_TWISTED_PATH + SALUT_TWISTED_PATH="${test_src}/twisted" + export SALUT_TWISTED_PATH fi if [ -n "$1" ] ; then list="$1" else - list=$(cat "${test_build}"/twisted/gabble-twisted-tests.list) + list=$(cat "${test_build}"/twisted/salut-twisted-tests.list) +fi + +if [ -z "$SALUT_TEST_REAL_AVAHI" ]; then + also_for_system="--also-for-system"; fi any_failed=0 for i in $list ; do echo "Testing $i ..." sh "${test_src}/twisted/tools/with-session-bus.sh" \ - ${GABBLE_TEST_SLEEP} \ + ${SALUT_TEST_SLEEP} \ --config-file="${config_file}" \ + ${also_for_system} \ -- \ @TEST_PYTHON@ -u "${test_src}/twisted/$i" e=$? -- 1.8.3.1