diff --git a/bin/tests/system/hooks/tests.sh b/bin/tests/system/hooks/tests.sh deleted file mode 100644 index 9ba0bd8e44..0000000000 --- a/bin/tests/system/hooks/tests.sh +++ /dev/null @@ -1,36 +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 - -status=0 -n=0 - -rm -f dig.out.* - -DIGOPTS="+tcp +noadd +nosea +nostat +nocmd -p ${PORT}" -RNDCCMD="$RNDC -c ../common/rndc.conf -p ${CONTROLPORT} -s" - -n=$((n+1)) -echo_i "checking asynchronous hook action resumes correctly ($n)" -ret=0 -$DIG $DIGOPTS example.com @10.53.0.1 > dig.out.ns1.test$n || ret=1 -# the test-async plugin changes the status of any postiive answer to NOTIMP -grep -q "status: NOTIMP" dig.out.ns1.test$n || ret=1 -if [ $ret != 0 ]; then echo_i "failed"; fi -status=$((status + ret)) - - - -echo_i "exit status: $status" -[ $status -eq 0 ] || exit 1 diff --git a/bin/tests/system/hooks/prereq.sh b/bin/tests/system/hooks/tests_async_plugin.py similarity index 56% rename from bin/tests/system/hooks/prereq.sh rename to bin/tests/system/hooks/tests_async_plugin.py index 665fdfeaab..48f9feefbd 100644 --- a/bin/tests/system/hooks/prereq.sh +++ b/bin/tests/system/hooks/tests_async_plugin.py @@ -1,5 +1,3 @@ -#!/bin/sh - # Copyright (C) Internet Systems Consortium, Inc. ("ISC") # # SPDX-License-Identifier: MPL-2.0 @@ -11,11 +9,18 @@ # See the COPYRIGHT file distributed with this work for additional # information regarding copyright ownership. -. ../conf.sh +import pytest -$FEATURETEST --tsan && { - echo_i "TSAN - skipping hooks test" - exit 255 -} +pytest.importorskip("dns") +import dns.message +import dns.query +import dns.rcode -exit 0 + +def test_async_hook(named_port): + msg = dns.message.make_query( + "example.com.", + "A", + ) + ans = dns.query.udp(msg, "10.53.0.1", timeout=10, port=named_port) + assert ans.rcode() == dns.rcode.NOTIMP