Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
"""Tests for scripts/ci/e2e_screenshot_status.py."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import importlib.util
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
_PATH = Path(__file__).resolve().parents[2] / "scripts" / "ci" / "e2e_screenshot_status.py"
|
||||
_spec = importlib.util.spec_from_file_location("e2e_screenshot_status", _PATH)
|
||||
if _spec is None or _spec.loader is None:
|
||||
raise ImportError("Failed to load e2e_screenshot_status.py")
|
||||
_mod = importlib.util.module_from_spec(_spec)
|
||||
_spec.loader.exec_module(_mod)
|
||||
|
||||
|
||||
def test_status_selects_only_new_explicit_screenshots_and_all_diffs(tmp_path):
|
||||
for name in (
|
||||
"explicit-proof.png",
|
||||
"test-finished-1.png",
|
||||
"visual-actual.png",
|
||||
"visual-expected.png",
|
||||
"visual-diff.png",
|
||||
):
|
||||
(tmp_path / name).write_bytes(b"png")
|
||||
|
||||
base_manifest = tmp_path / "main-manifest.json"
|
||||
base_manifest.write_text('{"screenshot_names":["already-on-main.png"]}', encoding="utf-8")
|
||||
(tmp_path / "already-on-main.png").write_bytes(b"png")
|
||||
|
||||
selection = _mod.select_evidence(tmp_path, base_manifest)
|
||||
status = _mod.build_status(selection, "https://github.test/artifacts/1")
|
||||
|
||||
result = status[0]["results"][0]
|
||||
assert result["kind"] == "info"
|
||||
assert result["summary"] == "1 new screenshot vs main; 1 visual diff."
|
||||
assert _mod.EVIDENCE_START in result["detail"]
|
||||
assert "already-on-main.png" not in result["detail"]
|
||||
assert result["link"] == "https://github.test/artifacts/1"
|
||||
|
||||
|
||||
def test_cli_output_ends_with_newline_for_github_output_delimiter(tmp_path, monkeypatch):
|
||||
output = tmp_path / "review-status.json"
|
||||
manifest = tmp_path / "main-manifest.json"
|
||||
evidence_dir = tmp_path / "evidence"
|
||||
monkeypatch.setattr(sys, "argv", [
|
||||
"e2e_screenshot_status.py",
|
||||
"--results-dir", str(tmp_path),
|
||||
"--manifest-output", str(manifest),
|
||||
"--evidence-dir", str(evidence_dir),
|
||||
"--output", str(output),
|
||||
])
|
||||
|
||||
assert _mod.main() == 0
|
||||
assert output.read_text(encoding="utf-8") == "[]\n"
|
||||
assert manifest.read_text(encoding="utf-8") == '{"screenshot_names": [], "version": 1}\n'
|
||||
assert evidence_dir.joinpath("e2e-evidence.json").is_file()
|
||||
Reference in New Issue
Block a user