diff options
author | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-06-03 09:14:54 +0100 |
---|---|---|
committer | Simon McVittie <simon.mcvittie@collabora.co.uk> | 2013-06-11 11:15:05 +0100 |
commit | fcc3900f4e6f6c9a58d95d15af8175b5d04fdaf4 (patch) | |
tree | ff2c174cf21791e9e5b141c5b3bb0befb98cc8af | |
parent | 2a54c7cd0c55d636f33666f4a6ac626e3c6f0f55 (diff) |
Adapt run-test.sh to be able to run the tests uninstalled
When autoreconfiscated with Automake 1.13, the way in which we were
(ab?)using Automake's test driver no longer works. We can't just
switch back to the old serial test driver without a dependency on
at least Automake 1.12, either. However, run-test.sh (which was already
used for installed tests) is quite capable of running uninstalled
tests, with a bit of adjustment:
* if GABBLE_TEST_UNINSTALLED is set, expect GABBLE_ABS_TOP_SRCDIR,
GABBLE_ABS_TOP_BUILDDIR and optionally GABBLE_TEST_SLEEP in the
environment
* look for installed or uninstalled files, as appropriate
* use TEST_PYTHON (which might differ from PYTHON)
* use python -u (unbuffered stdout) for better debugging
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65290
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
-rw-r--r-- | tests/twisted/Makefile.am | 1 | ||||
-rw-r--r-- | tests/twisted/run-test.sh.in | 52 |
2 files changed, 40 insertions, 13 deletions
diff --git a/tests/twisted/Makefile.am b/tests/twisted/Makefile.am index fdc6d612a..e8ffeb197 100644 --- a/tests/twisted/Makefile.am +++ b/tests/twisted/Makefile.am @@ -451,6 +451,7 @@ gabble-twisted-tests.list: run-test.sh: run-test.sh.in Makefile $(AM_V_GEN)sed -e "s|[@]gabbletestsdir[@]|@gabbletestsdir@|g" \ -e "s|[@]PYTHON[@]|$(PYTHON)|g" \ + -e "s|[@]TEST_PYTHON[@]|$(TEST_PYTHON)|g" \ $< > $@ @chmod +x $@ diff --git a/tests/twisted/run-test.sh.in b/tests/twisted/run-test.sh.in index e6638553c..e0b146c75 100644 --- a/tests/twisted/run-test.sh.in +++ b/tests/twisted/run-test.sh.in @@ -1,30 +1,56 @@ #!/bin/sh -script_fullname=`readlink -e "@gabbletestsdir@/twisted/run-test.sh"` -if [ `readlink -e "$0"` != "$script_fullname" ] ; then - echo "This script is meant to be installed at $script_fullname" - exit 1 -fi +if test "x$GABBLE_TEST_UNINSTALLED" = x; then + script_fullname=`readlink -e "@gabbletestsdir@/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" -PYTHONPATH=@gabbletestsdir@/twisted -export PYTHONPATH + PYTHONPATH="@gabbletestsdir@/twisted" + export PYTHONPATH + + GABBLE_TWISTED_PATH="@gabbletestsdir@/twisted" + export GABBLE_TWISTED_PATH +else + if test -z "$GABBLE_ABS_TOP_SRCDIR"; then + echo "GABBLE_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 + exit 1 + fi -GABBLE_TWISTED_PATH=@gabbletestsdir@/twisted -export GABBLE_TWISTED_PATH + 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" + + PYTHONPATH="${test_src}/twisted:${test_build}/twisted" + export PYTHONPATH + + GABBLE_TWISTED_PATH="${test_src}/twisted" + export GABBLE_TWISTED_PATH +fi if [ -n "$1" ] ; then list="$1" else - list=$(cat @gabbletestsdir@/twisted/gabble-twisted-tests.list) + list=$(cat "${test_build}"/twisted/gabble-twisted-tests.list) fi any_failed=0 for i in $list ; do echo "Testing $i ..." - sh @gabbletestsdir@/twisted/tools/with-session-bus.sh \ - --config-file=@gabbletestsdir@/twisted/tools/servicedir/tmp-session-bus.conf \ + sh "${test_src}/twisted/tools/with-session-bus.sh" \ + ${GABBLE_TEST_SLEEP} \ + --config-file="${config_file}" \ -- \ - @PYTHON@ @gabbletestsdir@/twisted/$i + @TEST_PYTHON@ -u "${test_src}/twisted/$i" e=$? case "$e" in (0) |