Coverage for glotter/decorators.py: 100%
15 statements
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-01 21:54 +0000
« prev ^ index » next coverage.py v7.10.7, created at 2026-03-01 21:54 +0000
1import functools
3import pytest
5from glotter.settings import get_settings
6from glotter.source import get_sources
9def project_test(project_type):
10 def decorator(func):
11 get_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(get_settings().source_root).get(project_type)
24 return pytest.fixture(
25 scope="module",
26 params=sources,
27 ids=[f"{source.language}/{source.name}{source.extension}" for source in sources],
28 )