12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- #!/usr/bin/env python
- import os
- import pathlib
- from collections import defaultdict
- from sentry.runner import configure
- configure()
- from sentry.testutils.modelmanifest import ModelManifest
- _manifest_files_env = {
- "SENTRY_MODEL_MANIFEST_FILE_PATH": pathlib.Path(__file__).absolute().parent.parent,
- "GETSENTRY_MODEL_MANIFEST_FILE_PATH": pathlib.Path(__file__)
- .absolute()
- .parent.parent.parent.joinpath("getsentry"),
- }
- for manifest_file_env_name, root_path in _manifest_files_env.items():
- manifest_path = os.environ[manifest_file_env_name]
- print(f"For {manifest_path}:") # noqa
- manifest = ModelManifest.open(file_path=manifest_path)
- all_stable = set()
- by_model_counts = defaultdict(lambda: [0, 0])
- totals = [0, 0]
- for test_id, test_visitor in manifest.each_hybrid_cloud_test(root_path):
- test_visitor.load()
- if test_visitor.decorator_was_stable:
- totals[0] += 1
- totals[1] += 1
- for model_id in manifest.connections[test_id]:
- model_name = manifest.reverse_lookup[model_id]
- if test_visitor.decorator_was_stable:
- by_model_counts[model_name][0] += 1
- by_model_counts[model_name][1] += 1
- for model_name, counts in by_model_counts.items():
- print(f"\t{model_name}: {counts[0]}/{counts[1]}") # noqa
- print(f"Total: {totals[0]}/{totals[1]}") # noqa
|