From b502a5e2b3048a996ada4c4246aafad99d3dd14c Mon Sep 17 00:00:00 2001 From: Steve Kowalik Date: Thu, 27 Nov 2025 10:44:40 +1100 Subject: [PATCH] Support pytest 9 changes The old py.path arguments to the hook functions have been removed as of pytest 9, switch to the shiny new pathlib ones. --- html5lib/tests/conftest.py | 18 +++++++++--------- requirements-test.txt | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) Index: html5lib-1.1/html5lib/tests/conftest.py =================================================================== --- html5lib-1.1.orig/html5lib/tests/conftest.py +++ html5lib-1.1/html5lib/tests/conftest.py @@ -90,22 +90,22 @@ def pytest_configure(config): pytest.exit("\n".join(msgs)) -def pytest_collect_file(path, parent): - dir = os.path.abspath(path.dirname) +def pytest_collect_file(file_path, parent): + dir = file_path.parent dir_and_parents = set() while dir not in dir_and_parents: dir_and_parents.add(dir) - dir = os.path.dirname(dir) + dir = dir.parent if _tree_construction in dir_and_parents: - if path.ext == ".dat": - return TreeConstructionFile.from_parent(parent, fspath=path) + if file_path.suffix == ".dat": + return TreeConstructionFile.from_parent(parent, path=file_path) elif _tokenizer in dir_and_parents: - if path.ext == ".test": - return TokenizerFile.from_parent(parent, fspath=path) + if file_path.suffix == ".test": + return TokenizerFile.from_parent(parent, path=file_path) elif _sanitizer_testdata in dir_and_parents: - if path.ext == ".dat": - return SanitizerFile.from_parent(parent, fspath=path) + if file_path.suffix == ".dat": + return SanitizerFile.from_parent(parent, path=file_path) # Tiny wrapper to allow .from_parent constructors on older pytest for PY27 Index: html5lib-1.1/requirements-test.txt =================================================================== --- html5lib-1.1.orig/requirements-test.txt +++ html5lib-1.1/requirements-test.txt @@ -3,7 +3,7 @@ tox>=3.15.1,<4 flake8>=3.8.1,<3.9 pytest>=4.6.10,<5 ; python_version < '3' -pytest>=5.4.2,<7 ; python_version >= '3' +pytest>=7,<10 ; python_version >= '3' coverage>=5.1,<6 pytest-expect>=1.1.0,<2 mock>=3.0.5,<4 ; python_version < '3.6'