diff --git a/bin/tests/system/.gitignore b/bin/tests/system/.gitignore index 663f744cf9..0866236c20 100644 --- a/bin/tests/system/.gitignore +++ b/bin/tests/system/.gitignore @@ -16,6 +16,7 @@ named.run /*.trs /*.xml /resolve +/legacy.run.sh /run.log /start.sh /stop.sh diff --git a/bin/tests/system/conftest.py b/bin/tests/system/conftest.py index b2c27c0a6d..d799f96d29 100644 --- a/bin/tests/system/conftest.py +++ b/bin/tests/system/conftest.py @@ -355,7 +355,7 @@ def system_test_dir(request, system_test_name): isctest.vars.dirs.set_system_test_name(testdir.name) # Create a convenience symlink with a stable and predictable name - module_name = SYMLINK_REPLACEMENT_RE.sub(r"\1", request.node.name) + module_name = SYMLINK_REPLACEMENT_RE.sub(r"\1", str(_get_node_path(request.node))) symlink_dst = system_test_root / module_name unlink(symlink_dst) symlink_dst.symlink_to(os.path.relpath(testdir, start=system_test_root)) @@ -446,6 +446,15 @@ def _run_script( isctest.log.debug(" exited with %d", returncode) +def _get_node_path(node) -> Path: + if isinstance(node.parent, pytest.Session): + if _pytest_major_ver >= 8: + return Path() + return Path(node.name) + assert node.parent is not None + return _get_node_path(node.parent) / node.name + + @pytest.fixture(scope="module") def shell(system_test_dir): """Function to call a shell script with arguments.""" @@ -543,7 +552,7 @@ def system_test( isctest.log.error("Found core dumps or sanitizer reports") pytest.fail(f"get_core_dumps.sh exited with {exc.returncode}") - isctest.log.info(f"test started: {request.node.name}") + isctest.log.info(f"test started: {_get_node_path(request.node)}") port = int(os.environ["PORT"]) isctest.log.info( "using port range: <%d, %d>", port, port + isctest.vars.ports.PORTS_PER_TEST - 1