| 123456789101112131415161718192021222324252627282930 |
- # Configuration for pytest to automatically collect types.
- # Thanks to Guilherme Salgado.
- import pytest
- try:
- import pyannotate_runtime
- PYANOTATE_PRESENT = True
- except ImportError:
- PYANOTATE_PRESENT = False
- if PYANOTATE_PRESENT:
- def pytest_collection_finish(session):
- """Handle the pytest collection finish hook: configure pyannotate.
- Explicitly delay importing `collect_types` until all tests have
- been collected. This gives gevent a chance to monkey patch the
- world before importing pyannotate.
- """
- from pyannotate_runtime import collect_types
- collect_types.init_types_collection()
- @pytest.fixture(autouse=True)
- def collect_types_fixture():
- from pyannotate_runtime import collect_types
- collect_types.resume()
- yield
- collect_types.pause()
- def pytest_sessionfinish(session, exitstatus):
- from pyannotate_runtime import collect_types
- collect_types.dump_stats("type_info.json")
|