Coverage for glotter/decorators.py: 40%

15 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-04-12 02:25 +0000

1import functools 

2 

3import pytest 

4 

5from glotter.settings import Settings 

6from glotter.source import get_sources 

7 

8 

9def project_test(project_type): 

10 def decorator(func): 

11 Settings().add_test_mapping(project_type, func) 

12 

13 @functools.wraps(func) 

14 def wrapper(*args, **kwargs): 

15 return func(*args, **kwargs) 

16 

17 return wrapper 

18 

19 return decorator 

20 

21 

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 )