Rework Session and Package collection

Fix #7777.
This commit is contained in:
Ran Benita
2023-06-02 16:03:39 +03:00
parent f411c8d6d7
commit 385796ba49
39 changed files with 985 additions and 335 deletions

View File

@@ -0,0 +1,22 @@
# content of conftest.py
import json
import pytest
class ManifestDirectory(pytest.Directory):
def collect(self):
manifest_path = self.path / "manifest.json"
manifest = json.loads(manifest_path.read_text(encoding="utf-8"))
ihook = self.ihook
for file in manifest["files"]:
yield from ihook.pytest_collect_file(
file_path=self.path / file, parent=self
)
@pytest.hookimpl
def pytest_collect_directory(path, parent):
if path.joinpath("manifest.json").is_file():
return ManifestDirectory.from_parent(parent=parent, path=path)
return None