From 743d49190329653c79ef2d587294cd0413087da3 Mon Sep 17 00:00:00 2001 From: Fiona Klute Date: Tue, 16 Jun 2020 20:48:44 +0200 Subject: Detect Python interpreter instead of assuming "python" This makes the extended test suite work one Debian(-ish) systems without Python 2, where the Python 3 interpreter is called "python3". Signed-off-by: Fiona Klute --- configure.ac | 3 +++ tests/suite/Makefile.am | 1 + tests/suite/multi-ticket-reception.sh | 14 +++++++++----- tests/suite/tls-fuzzer/tls-fuzzer-common.sh | 6 +++++- 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index a616a34018..25adba492a 100644 --- a/configure.ac +++ b/configure.ac @@ -462,6 +462,9 @@ fi AM_CONDITIONAL(WANT_TEST_SUITE, test "$full_test_suite" = "yes") +# parts of the extended test suite use Python +AM_PATH_PYTHON(,, [:]) + AC_ARG_ENABLE(oldgnutls-interop, AS_HELP_STRING([--enable-oldgnutls-interop], [enable interoperability testing with old gnutls version]), enable_oldgnutls_interop=$enableval, enable_oldgnutls_interop=no) diff --git a/tests/suite/Makefile.am b/tests/suite/Makefile.am index 025f513f78..d6f6ff135b 100644 --- a/tests/suite/Makefile.am +++ b/tests/suite/Makefile.am @@ -48,6 +48,7 @@ scripts_to_test = chain.sh \ TESTS_ENVIRONMENT = EXEEXT=$(EXEEXT) \ LC_ALL="C" \ + PYTHON="$(PYTHON)" \ VALGRIND="$(VALGRIND)" \ top_builddir="$(top_builddir)" \ srcdir="$(srcdir)" \ diff --git a/tests/suite/multi-ticket-reception.sh b/tests/suite/multi-ticket-reception.sh index d84367703c..6c0113e372 100755 --- a/tests/suite/multi-ticket-reception.sh +++ b/tests/suite/multi-ticket-reception.sh @@ -26,6 +26,10 @@ PYPATH="${srcdir}/tls-fuzzer/tlsfuzzer/" CLI="${CLI:-../../src/gnutls-cli${EXEEXT}}" unset RETCODE +if test "${PYTHON}" = ":" ; then + exit 77 +fi + if ! test -x "${TLSPY_SERV}"; then exit 77 fi @@ -36,7 +40,7 @@ fi if test "${WINDIR}" != ""; then exit 77 -fi +fi if ! test -z "${VALGRIND}"; then VALGRIND="${LIBTOOL:-libtool} --mode=execute ${VALGRIND} --error-exitcode=15" @@ -45,7 +49,7 @@ fi . "${srcdir}/../scripts/common.sh" KEY1=${srcdir}/tls-fuzzer/tlslite-ng/tests/serverX509Key.pem -CERT1=${srcdir}/tls-fuzzer/tlsfuzzer/tests/serverX509Cert.pem +CERT1=${srcdir}/tls-fuzzer/tlsfuzzer/tests/serverX509Cert.pem #create links necessary for tlslite to function test -L "${srcdir}/tls-fuzzer/tlsfuzzer/ecdsa" || \ @@ -56,7 +60,7 @@ test -L "${srcdir}/tls-fuzzer/tlsfuzzer/tlslite" || \ echo "Checking whether receiving 1 ticket succeeds (sanity)" eval "${GETPORT}" -PYTHONPATH="${PYPATH}" ${TLSPY_SERV} server --tickets 1 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & +PYTHONPATH="${PYPATH}" "${PYTHON}" ${TLSPY_SERV} server --tickets 1 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & PID=$! wait_server ${PID} @@ -70,7 +74,7 @@ wait echo "Checking whether receiving 3 tickets in the same record succeeds" eval "${GETPORT}" -PYTHONPATH="${PYPATH}" ${TLSPY_SERV} server --tickets 3 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & +PYTHONPATH="${PYPATH}" "${PYTHON}" ${TLSPY_SERV} server --tickets 3 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & PID=$! wait_server ${PID} @@ -84,7 +88,7 @@ wait echo "Checking whether receiving multiple tickets that span many records succeeds" eval "${GETPORT}" -PYTHONPATH="${PYPATH}" ${TLSPY_SERV} server --tickets 1512 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & +PYTHONPATH="${PYPATH}" "${PYTHON}" ${TLSPY_SERV} server --tickets 1512 -k ${KEY1} -c ${CERT1} 127.0.0.1:${PORT} & PID=$! wait_server ${PID} diff --git a/tests/suite/tls-fuzzer/tls-fuzzer-common.sh b/tests/suite/tls-fuzzer/tls-fuzzer-common.sh index b41f068a07..72ed56df19 100755 --- a/tests/suite/tls-fuzzer/tls-fuzzer-common.sh +++ b/tests/suite/tls-fuzzer/tls-fuzzer-common.sh @@ -33,6 +33,10 @@ if ! test -d "${srcdir}/tls-fuzzer/tlsfuzzer" ; then exit 77 fi +if test "${PYTHON}" = ":" ; then + exit 77 +fi + pushd "${srcdir}/tls-fuzzer/tlsfuzzer" test -L ecdsa || ln -s ../python-ecdsa/src/ecdsa ecdsa @@ -44,7 +48,7 @@ retval=0 tls_fuzzer_prepare -PYTHONPATH=. python tests/scripts_retention.py ${TMPFILE} ${SERV} 821 +PYTHONPATH=. "${PYTHON}" tests/scripts_retention.py ${TMPFILE} ${SERV} 821 retval=$? rm -f ${TMPFILE} -- cgit v1.2.1