2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-29 21:47:59 +00:00

Extract dns.rcode compatibility code to isctest.compat

(cherry picked from commit 8b55d0709db7d9aec8587e29c11c2b7591d170f4)
This commit is contained in:
Michal Nowak 2024-08-27 20:14:00 +02:00
parent c8c8b36e44
commit 944fc02f83
5 changed files with 30 additions and 44 deletions

View File

@ -10,23 +10,14 @@
# information regarding copyright ownership. # information regarding copyright ownership.
import shutil import shutil
from typing import Any, Optional from typing import Optional
import dns.rcode import dns.rcode
import dns.message import dns.message
import dns.zone import dns.zone
import isctest.log import isctest.log
from isctest.compat import dns_rcode
# compatiblity with dnspython<2.0.0
try:
# In dnspython>=2.0.0, dns.rcode.Rcode class is available
# pylint: disable=invalid-name
dns_rcode = dns.rcode.Rcode # type: Any
except AttributeError:
# In dnspython<2.0.0, selected rcodes are available as integers directly
# from dns.rcode
dns_rcode = dns.rcode
def rcode(message: dns.message.Message, expected_rcode) -> None: def rcode(message: dns.message.Message, expected_rcode) -> None:

View File

@ -0,0 +1,24 @@
# 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.
from typing import Any
import dns.rcode
# compatiblity with dnspython<2.0.0
try:
# In dnspython>=2.0.0, dns.rcode.Rcode class is available
# pylint: disable=invalid-name
dns_rcode = dns.rcode.Rcode # type: Any
except AttributeError:
# In dnspython<2.0.0, selected rcodes are available as integers directly
# from dns.rcode
dns_rcode = dns.rcode

View File

@ -17,16 +17,7 @@ import dns.query
import dns.message import dns.message
import isctest.log import isctest.log
from isctest.compat import dns_rcode
# compatiblity with dnspython<2.0.0
try:
# In dnspython>=2.0.0, dns.rcode.Rcode class is available
# pylint: disable=invalid-name
dns_rcode = dns.rcode.Rcode # type: Any
except AttributeError:
# In dnspython<2.0.0, selected rcodes are available as integers directly
# from dns.rcode
dns_rcode = dns.rcode
QUERY_TIMEOUT = 10 QUERY_TIMEOUT = 10

View File

@ -12,24 +12,14 @@
import os import os
import subprocess import subprocess
import time import time
from typing import Any, Optional from typing import Optional
import isctest.log import isctest.log
from isctest.compat import dns_rcode
import dns.message import dns.message
# compatiblity with dnspython<2.0.0
try:
# In dnspython>=2.0.0, dns.rcode.Rcode class is available
# pylint: disable=invalid-name
dns_rcode = dns.rcode.Rcode # type: Any
except AttributeError:
# In dnspython<2.0.0, selected rcodes are available as integers directly
# from dns.rcode
dns_rcode = dns.rcode
def cmd( # pylint: disable=too-many-arguments def cmd( # pylint: disable=too-many-arguments
args, args,
cwd=None, cwd=None,

View File

@ -16,21 +16,11 @@ import pytest
pytest.importorskip("dns", minversion="2.0.0") pytest.importorskip("dns", minversion="2.0.0")
import isctest import isctest
from isctest.compat import dns_rcode
import dns.message import dns.message
# compatiblity with dnspython<2.0.0
try:
# In dnspython>=2.0.0, dns.rcode.Rcode class is available
# pylint: disable=invalid-name
dns_rcode = dns.rcode.Rcode # type: Any
except AttributeError:
# In dnspython<2.0.0, selected rcodes are available as integers directly
# from dns.rcode
dns_rcode = dns.rcode
@pytest.mark.parametrize( @pytest.mark.parametrize(
"qname,source,rcode", "qname,source,rcode",
[ [