run.py 887 B

1234567891011121314151617181920212223242526272829
  1. """运行 Global Data 0.3 的小型离线 Eval 集。"""
  2. from __future__ import annotations
  3. import json
  4. from pathlib import Path
  5. import pytest
  6. def main() -> int:
  7. suite_dir = Path(__file__).resolve().parent
  8. repo_root = suite_dir.parents[1]
  9. cases = json.loads(
  10. (suite_dir / "cases.json").read_text(encoding="utf-8")
  11. )
  12. if not 5 <= len(cases) <= 10:
  13. raise ValueError("Global Data 0.3 Eval 必须保持 5–10 个案例")
  14. ids = [case["id"] for case in cases]
  15. if len(ids) != len(set(ids)):
  16. raise ValueError("Eval case id 不得重复")
  17. if "remote-url-content-replacement" not in ids:
  18. raise ValueError("Eval 必须包含远程 URL 内容替换对抗案例")
  19. selectors = [str(repo_root / case["test"]) for case in cases]
  20. return pytest.main(["-q", *selectors])
  21. if __name__ == "__main__":
  22. raise SystemExit(main())