| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import glob
- import io
- import logging
- import pytest
- from byrd.utils import logger, log_handler, ObjectDict
- from byrd.config import yaml_load
- # Disable default handler
- logger.removeHandler(log_handler)
- @pytest.yield_fixture(scope='function')
- def log_buff(request):
- buff = io.StringIO()
- handler = logging.StreamHandler(buff)
- handler.setLevel('DEBUG')
- logger.setLevel('DEBUG')
- logger.addHandler(handler)
- yield buff
- logger.removeHandler(handler)
- def pytest_addoption(parser):
- parser.addoption("-F", "--filter", help="Filter yaml files")
- def pytest_generate_tests(metafunc):
- if not 'test_cfg' in metafunc.fixturenames:
- return
- test_configs = []
- ids = []
- fltr = metafunc.config.option.filter
- for name in glob.glob('tests/*test.yaml'):
- if fltr and not fltr in name:
- continue
- test_cfg = ObjectDict(yaml_load(open(name)))
- ids.append(test_cfg.cfg)
- test_configs.append(test_cfg)
- metafunc.parametrize("test_cfg", test_configs, ids=ids)
|