23 lines
630 B
Python
23 lines
630 B
Python
|
# 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
|