Coverage for glotter/decorators.py: 40%
15 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-12 02:25 +0000
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-12 02:25 +0000
1import functools
3import pytest
5from glotter.settings import Settings
6from glotter.source import get_sources
9def project_test(project_type):
10 def decorator(func):
11 Settings().add_test_mapping(project_type, func)
13 @functools.wraps(func)
14 def wrapper(*args, **kwargs):
15 return func(*args, **kwargs)
17 return wrapper
19 return decorator
22def project_fixture(project_type):
23 sources = get_sources(Settings().source_root).get(project_type)
24 return pytest.fixture(
25 scope="module",
26 params=sources,
27 ids=[
28 f"{source.language}/{source.name}{source.extension}" for source in sources
29 ],
30 )