commit eb2188168e2eca96692ec5f60f298f7bc287e990 Author: Nick Mathewson nickm@torproject.org Date: Thu Sep 24 15:07:39 2015 -0400
Stop trying to generate test scripts via autoconf substitution.
Use environment variables instead. This repairs 'make distcheck', which was running into trouble when it tried to chmod the generated scripts.
Fixes 17148. --- changes/testscripts | 6 ++++++ configure.ac | 3 --- src/test/include.am | 18 +++++++++--------- src/test/test_bt.sh | 9 +++++++++ src/test/test_bt.sh.in | 9 --------- src/test/test_ntor.sh | 9 +++++++++ src/test/test_ntor.sh.in | 9 --------- src/test/test_zero_length_keys.sh | 10 ++++++++++ src/test/test_zero_length_keys.sh.in | 10 ---------- 9 files changed, 43 insertions(+), 40 deletions(-)
diff --git a/changes/testscripts b/changes/testscripts new file mode 100644 index 0000000..d3ac79f --- /dev/null +++ b/changes/testscripts @@ -0,0 +1,6 @@ + o Testing: + - Use environment variables rather than autoconf substitutions to send + variables from the build system to the test scripts. This change should + be easier to maintain, and cause 'make distcheck' to work better than + before. Fixes bug 17148. + diff --git a/configure.ac b/configure.ac index 98f8d30..798de27 100644 --- a/configure.ac +++ b/configure.ac @@ -1647,9 +1647,6 @@ AC_CONFIG_FILES([ src/config/torrc.minimal scripts/maint/checkOptionDocs.pl scripts/maint/updateVersions.pl - src/test/test_zero_length_keys.sh - src/test/test_ntor.sh - src/test/test_bt.sh ])
if test x$asciidoc = xtrue && test "$ASCIIDOC" = "none" ; then diff --git a/src/test/include.am b/src/test/include.am index f7c0204..0b64299 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -1,4 +1,9 @@
+export PYTHON=@PYTHON@ +export SHELL=@SHELL@ +export abs_top_srcdir +export builddir + TESTSCRIPTS = src/test/test_zero_length_keys.sh
if USEPYTHON @@ -16,18 +21,11 @@ TEST_CHUTNEY_FLAVORS_IPV6 = bridges+ipv6-min ipv6-exit-min TEST_CHUTNEY_FLAVORS_MIXED = mixed
### This is a lovely feature, but it requires automake >= 1.12, and Tor -### doesn't require that yet. Below is a kludge to work around. +### doesn't require that yet. ### # TEST_EXTENSIONS = .sh # SH_LOG_COMPILER = $(SHELL)
-check-am: set-test-permissions - -.PHONY: set-test-permissions -set-test-permissions: $(TESTSCRIPTS) - $(AM_V_at)chmod u+x $(TESTSCRIPTS) - - noinst_PROGRAMS+= src/test/bench if UNITTESTS_ENABLED noinst_PROGRAMS+= \ @@ -194,4 +192,6 @@ EXTRA_DIST += \ src/test/ntor_ref.py \ src/test/slownacl_curve25519.py \ src/test/zero_length_keys.sh \ - src/test/test_keygen.sh + src/test/test_keygen.sh \ + src/test/test_zero_length_keys.sh \ + src/test/test_ntor.sh src/test/test_bt.sh diff --git a/src/test/test_bt.sh b/src/test/test_bt.sh new file mode 100755 index 0000000..15d16cb --- /dev/null +++ b/src/test/test_bt.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Test backtrace functionality. + +exitcode=0 + +${builddir:-.}/src/test/test-bt-cl assert | ${PYTHON:-python} "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode=1 +${builddir:-.}/src/test/test-bt-cl crash | ${PYTHON:-python} "${abs_top_srcdir:-.}/src/test/bt_test.py" || exitcode=1 + +exit ${exitcode} diff --git a/src/test/test_bt.sh.in b/src/test/test_bt.sh.in deleted file mode 100644 index ca8be96..0000000 --- a/src/test/test_bt.sh.in +++ /dev/null @@ -1,9 +0,0 @@ -#!@SHELL@ -# Test backtrace functionality. - -exitcode=0 - -@builddir@/src/test/test-bt-cl assert | @PYTHON@ @abs_top_srcdir@/src/test/bt_test.py || exitcode=1 -@builddir@/src/test/test-bt-cl crash | @PYTHON@ @abs_top_srcdir@/src/test/bt_test.py || exitcode=1 - -exit ${exitcode} diff --git a/src/test/test_ntor.sh b/src/test/test_ntor.sh new file mode 100755 index 0000000..3d9ef7a --- /dev/null +++ b/src/test/test_ntor.sh @@ -0,0 +1,9 @@ +#!/bin/sh +# Validate Tor's ntor implementation. + +exitcode=0 + +${PYTHON:-python} "${abs_top_srcdir:-.}/src/test/ntor_ref.py" test-tor || exitcode=1 +${PYTHON:-python} "${abs_top_srcdir:-.}/src/test/ntor_ref.py" self-test || exitcode=1 + +exit ${exitcode} diff --git a/src/test/test_ntor.sh.in b/src/test/test_ntor.sh.in deleted file mode 100644 index be35384..0000000 --- a/src/test/test_ntor.sh.in +++ /dev/null @@ -1,9 +0,0 @@ -#!@SHELL@ -# Validate Tor's ntor implementation. - -exitcode=0 - -@PYTHON@ @abs_top_srcdir@/src/test/ntor_ref.py test-tor || exitcode=1 -@PYTHON@ @abs_top_srcdir@/src/test/ntor_ref.py self-test || exitcode=1 - -exit ${exitcode} diff --git a/src/test/test_zero_length_keys.sh b/src/test/test_zero_length_keys.sh new file mode 100755 index 0000000..5471cc9 --- /dev/null +++ b/src/test/test_zero_length_keys.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Check that tor regenerates keys when key files are zero-length + +exitcode=0 + +${SHELL:-sh} "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/or/tor" -z || exitcode=1 +${SHELL:-sh} "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/or/tor" -d || exitcode=1 +${SHELL:-sh} "${abs_top_srcdir:-.}/src/test/zero_length_keys.sh" "${builddir:-.}/src/or/tor" -e || exitcode=1 + +exit ${exitcode} diff --git a/src/test/test_zero_length_keys.sh.in b/src/test/test_zero_length_keys.sh.in deleted file mode 100644 index d1492d5..0000000 --- a/src/test/test_zero_length_keys.sh.in +++ /dev/null @@ -1,10 +0,0 @@ -#!@SHELL@ -# Check that tor regenerates keys when key files are zero-length - -exitcode=0 - -@SHELL@ @abs_top_srcdir@/src/test/zero_length_keys.sh "@builddir@/src/or/tor" -z || exitcode=1 -@SHELL@ @abs_top_srcdir@/src/test/zero_length_keys.sh "@builddir@/src/or/tor" -d || exitcode=1 -@SHELL@ @abs_top_srcdir@/src/test/zero_length_keys.sh "@builddir@/src/or/tor" -e || exitcode=1 - -exit ${exitcode}
tor-commits@lists.torproject.org