mirror of
https://github.com/isc-projects/bind9.git
synced 2026-05-28 04:34:54 -04:00
[9.18] chg: dev: Use underscore for system test names
Change the convention for system test directory names to always use an underscore rather than a hyphen. Names using underscore are valid python package names and can be used with standard `import` facilities in python, which allows easier code reuse. Backport of MR !11710 Merge branch 'backport-nicki/system-test-dir-underscore-names-9.18' into 'bind-9.18' See merge request isc-projects/bind9!11712
This commit is contained in:
commit
2dd5b2b90e
158 changed files with 20 additions and 21 deletions
9
bin/tests/system/.gitignore
vendored
9
bin/tests/system/.gitignore
vendored
|
|
@ -24,10 +24,9 @@ parallel.mk
|
|||
/stop.sh
|
||||
/ifconfig.sh
|
||||
|
||||
# Ignore file names with underscore in their name except python or shell files.
|
||||
# Ignore file names with a hyphen in their name except C files.
|
||||
# This is done to ignore the temporary directories and symlinks created by the
|
||||
# pytest runner, which contain underscore in their file names.
|
||||
/*_*
|
||||
!/*_*.py
|
||||
!/*_*.sh
|
||||
!/_common
|
||||
/*-*
|
||||
!/*-*.c
|
||||
!/custom-test-driver
|
||||
|
|
|
|||
|
|
@ -88,13 +88,13 @@ tkey_keydelete_LDADD = \
|
|||
TESTS = \
|
||||
rpz \
|
||||
rpzrecurse \
|
||||
serve-stale \
|
||||
serve_stale \
|
||||
timeouts \
|
||||
upforwd \
|
||||
acl \
|
||||
additional \
|
||||
addzone \
|
||||
allow-query \
|
||||
allow_query \
|
||||
auth \
|
||||
autosign \
|
||||
builtin \
|
||||
|
|
@ -117,7 +117,7 @@ TESTS = \
|
|||
dlzexternal \
|
||||
dns64 \
|
||||
dnssec \
|
||||
dnssec-malformed-dnskey \
|
||||
dnssec_malformed_dnskey \
|
||||
dnstap \
|
||||
doth \
|
||||
dsdigest \
|
||||
|
|
@ -128,14 +128,14 @@ TESTS = \
|
|||
ednscompliance \
|
||||
emptyzones \
|
||||
enginepkcs11 \
|
||||
filter-aaaa \
|
||||
filter_aaaa \
|
||||
fetchlimit \
|
||||
formerr \
|
||||
forward \
|
||||
geoip2 \
|
||||
glue \
|
||||
idna \
|
||||
include-multiplecfg \
|
||||
include_multiplecfg \
|
||||
inline \
|
||||
integrity \
|
||||
ixfr \
|
||||
|
|
@ -189,7 +189,7 @@ TESTS = \
|
|||
tcp \
|
||||
tkey \
|
||||
tools \
|
||||
transport-acl \
|
||||
transport_acl \
|
||||
tsig \
|
||||
tsiggss \
|
||||
ttl \
|
||||
|
|
@ -231,4 +231,4 @@ LOG_COMPILER = $(srcdir)/run.sh
|
|||
test-local: check
|
||||
|
||||
clean-local::
|
||||
-find -L . -mindepth 1 -maxdepth 1 -type d -name "*_*" -and -not -name "_common" -exec rm -rf {} \;
|
||||
-find -L . -mindepth 1 -maxdepth 1 -type d -name "*-*" -exec rm -rf {} \;
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ PRIORITY_TESTS = [
|
|||
PRIORITY_TESTS_RE = Re("|".join(PRIORITY_TESTS))
|
||||
SYSTEM_TEST_DIR_GIT_PATH = "bin/tests/system"
|
||||
SYSTEM_TEST_NAME_RE = Re(f"{SYSTEM_TEST_DIR_GIT_PATH}" + r"/([^/]+)")
|
||||
SYMLINK_REPLACEMENT_RE = Re(r"/tests(_.*)\.py")
|
||||
SYMLINK_REPLACEMENT_RE = Re(r"/tests_(.*)\.py")
|
||||
|
||||
# ---------------------- Module initialization ---------------------------
|
||||
|
||||
|
|
@ -132,14 +132,14 @@ def pytest_ignore_collect(collection_path):
|
|||
# ignore these during test collection phase. Otherwise, test artifacts
|
||||
# from previous runs could mess with the runner. Also ignore the
|
||||
# convenience symlinks to those test directories. In both of those
|
||||
# cases, the system test name (directory) contains an underscore, which
|
||||
# cases, the system test name (directory) contains a hyphen, which
|
||||
# is otherwise and invalid character for a system test name.
|
||||
match = SYSTEM_TEST_NAME_RE.search(str(collection_path))
|
||||
if match is None:
|
||||
isctest.log.warning("unexpected test path: %s (ignored)", collection_path)
|
||||
return True
|
||||
system_test_name = match.groups()[0]
|
||||
return "_" in system_test_name
|
||||
return "-" in system_test_name
|
||||
|
||||
|
||||
def pytest_collection_modifyitems(items):
|
||||
|
|
@ -449,13 +449,13 @@ def system_test_dir(request, env, system_test_name, expected_artifacts):
|
|||
f"{env['TOP_BUILDDIR']}/{SYSTEM_TEST_DIR_GIT_PATH}"
|
||||
).resolve()
|
||||
testdir = Path(
|
||||
tempfile.mkdtemp(prefix=f"{system_test_name}_tmp_", dir=system_test_root)
|
||||
tempfile.mkdtemp(prefix=f"{system_test_name}-tmp-", dir=system_test_root)
|
||||
)
|
||||
shutil.rmtree(testdir)
|
||||
shutil.copytree(system_test_root / system_test_name, testdir)
|
||||
|
||||
# Create a convenience symlink with a stable and predictable name
|
||||
module_name = SYMLINK_REPLACEMENT_RE.sub(r"\1", str(request.node.path))
|
||||
module_name = SYMLINK_REPLACEMENT_RE.sub(r"-\1", str(request.node.path))
|
||||
symlink_dst = system_test_root / module_name
|
||||
symlink_dst.unlink(missing_ok=True)
|
||||
symlink_dst.symlink_to(os.path.relpath(testdir, start=system_test_root))
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue