[9.20] chg: test: Remove obsolete checks for PYTHON executable

Python has been required to run the system test suite for quite a while.
Remove the dated checks inside system tests which are no longer needed.

Backport of MR !11292

Merge branch 'backport-nicki/cleanup-python-checks-system-tests-9.20' into 'bind-9.20'

See merge request isc-projects/bind9!11301
This commit is contained in:
Nicki Křížek 2025-11-28 12:57:36 +01:00
commit 6d7896b5a0
11 changed files with 28 additions and 135 deletions

View file

@ -13,11 +13,6 @@
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
if ! ${PERL} -MNet::DNS -e ''; then
echo_i "perl Net::DNS module is required"
exit 1

View file

@ -1,21 +0,0 @@
#!/bin/sh
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# SPDX-License-Identifier: MPL-2.0
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
exit 0

View file

@ -13,11 +13,6 @@
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
if ! ${PERL} -MNet::DNS -e ''; then
echo_i "perl Net::DNS module is required"
exit 1

View file

@ -69,9 +69,7 @@ KEYDATA="$(sed <ns2/keydata -e 's/+/[+]/g')"
NOSPLIT="$(sed <ns2/keydata -e 's/+/[+]/g' -e 's/ //g')"
HAS_PYYAML=0
if [ -x "$PYTHON" ]; then
$PYTHON -c "import yaml" 2>/dev/null && HAS_PYYAML=1
fi
$PYTHON -c "import yaml" 2>/dev/null && HAS_PYYAML=1
#
# test whether ans7/ans.pl will be able to send a UPDATE response.

View file

@ -13,11 +13,6 @@
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
if ! ${PERL} -MNet::DNS -e ''; then
echo_i "perl Net::DNS module is required"
exit 1

View file

@ -549,9 +549,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))
HAS_PYYAML=0
if [ -x "$PYTHON" ]; then
$PYTHON -c "import yaml" 2>/dev/null && HAS_PYYAML=1
fi
$PYTHON -c "import yaml" 2>/dev/null && HAS_PYYAML=1
if [ $HAS_PYYAML -ne 0 ]; then
echo_i "checking dnstap-read YAML output"

View file

@ -22,11 +22,9 @@ msg_peer_verification_failed=";; TLS peer certificate verification"
ca_file="./CA/CA.pem"
if [ -x "$PYTHON" ]; then
OPENSSL_VERSION=$("$PYTHON" "$TOP_SRCDIR/bin/tests/system/doth/get_openssl_version.py")
OPENSSL_VERSION_MAJOR=$(echo "$OPENSSL_VERSION" | cut -d ' ' -f 1)
OPENSSL_VERSION_MINOR=$(echo "$OPENSSL_VERSION" | cut -d ' ' -f 2)
fi
OPENSSL_VERSION=$("$PYTHON" "$TOP_SRCDIR/bin/tests/system/doth/get_openssl_version.py")
OPENSSL_VERSION_MAJOR=$(echo "$OPENSSL_VERSION" | cut -d ' ' -f 1)
OPENSSL_VERSION_MINOR=$(echo "$OPENSSL_VERSION" | cut -d ' ' -f 2)
# According to the RFC 8310, Section 8.1, Subject field MUST
# NOT be inspected when verifying a hostname when using
@ -43,12 +41,10 @@ fi
# On the platforms with too old TLS versions, e.g. RedHat 7, we should
# ignore the tests checking the correct handling of absence of
# SubjectAltName.
if [ -n "$OPENSSL_VERSION" ]; then
if [ $OPENSSL_VERSION_MAJOR -gt 1 ]; then
run_san_tests=1
elif [ $OPENSSL_VERSION_MAJOR -eq 1 ] && [ $OPENSSL_VERSION_MINOR -ge 1 ]; then
run_san_tests=1
fi
if [ $OPENSSL_VERSION_MAJOR -gt 1 ]; then
run_san_tests=1
elif [ $OPENSSL_VERSION_MAJOR -eq 1 ] && [ $OPENSSL_VERSION_MINOR -ge 1 ]; then
run_san_tests=1
fi
dig_with_tls_opts() {
@ -843,11 +839,7 @@ test_opcodes FORMERR 4 5
n=$((n + 1))
echo_i "checking server quotas for both encrypted and unencrypted HTTP ($n)"
ret=0
if [ -x "$PYTHON" ]; then
BINDHOST="10.53.0.1" "$PYTHON" "$TOP_SRCDIR/bin/tests/system/doth/stress_http_quota.py" || ret=$?
else
echo_i "Python is not available. Skipping the test..."
fi
BINDHOST="10.53.0.1" "$PYTHON" "$TOP_SRCDIR/bin/tests/system/doth/stress_http_quota.py" || ret=$?
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status + ret))

View file

@ -13,11 +13,6 @@
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
if ! ${PERL} -MNet::DNS -e ''; then
echo_i "perl Net::DNS module is required"
exit 1

View file

@ -299,12 +299,11 @@ set_keytime() {
# $3: Value
# $4: Additional time.
set_addkeytime() {
if [ -x "$PYTHON" ]; then
# Convert "%Y%m%d%H%M%S" format to epoch seconds.
# Then, add the additional time (can be negative).
_value=$3
_plus=$4
$PYTHON >python.out.$ZONE.$1.$2 <<EOF
# Convert "%Y%m%d%H%M%S" format to epoch seconds.
# Then, add the additional time (can be negative).
_value=$3
_plus=$4
$PYTHON >python.out.$ZONE.$1.$2 <<EOF
from datetime import datetime
from datetime import timedelta
_now = datetime.strptime("$_value", "%Y%m%d%H%M%S")
@ -312,9 +311,8 @@ _delta = timedelta(seconds=$_plus)
_then = _now + _delta
print(_then.strftime("%Y%m%d%H%M%S"));
EOF
# Set the expected timing metadata.
key_set "$1" "$2" $(cat python.out.$ZONE.$1.$2)
fi
# Set the expected timing metadata.
key_set "$1" "$2" $(cat python.out.$ZONE.$1.$2)
}
# Set key state metadata. Set to "none" to unset.
@ -646,20 +644,17 @@ check_timingmetadata() {
check_keytimes() {
# The script relies on Python to set keytimes.
if [ -x "$PYTHON" ]; then
if [ "$(key_get KEY1 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY1"
fi
if [ "$(key_get KEY2 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY2"
fi
if [ "$(key_get KEY3 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY3"
fi
if [ "$(key_get KEY4 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY4"
fi
if [ "$(key_get KEY1 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY1"
fi
if [ "$(key_get KEY2 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY2"
fi
if [ "$(key_get KEY3 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY3"
fi
if [ "$(key_get KEY4 EXPECT)" = "yes" ]; then
check_timingmetadata "KEY4"
fi
}

View file

@ -1,21 +0,0 @@
#!/bin/sh
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# SPDX-License-Identifier: MPL-2.0
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
. ../conf.sh
if ! ${PYTHON} -c 'import dns'; then
echo_i "python dns module is required"
exit 1
fi
exit 0

View file

@ -1,28 +0,0 @@
#!/bin/sh
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# SPDX-License-Identifier: MPL-2.0
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, you can obtain one at https://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
. ../conf.sh
if test -n "$PYTHON"; then
if $PYTHON -c "from dns.query import send_tcp" 2>/dev/null; then
:
else
echo_i "This test requires the dnspython >= 2.0.0 module." >&2
exit 1
fi
else
echo_i "This test requires Python and the dnspython module." >&2
exit 1
fi
exit 0