chore(repo): make the release gate reproducible and clean product URLs
PyJHora absence is now partial, tests write research manifests to tmp, the registry allows experimental_variant, and product links point at the Gitea repo. Early logs move to docs/history. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -148,8 +148,23 @@ def test_one_command_user_invocation_acceptance_check() -> None:
|
||||
|
||||
assert completed.returncode == 0, completed.stderr or completed.stdout
|
||||
report = json.loads(completed.stdout)
|
||||
assert report["status"] == "pass"
|
||||
# 原值=status 必须 pass;新值=pass 或 partial;原因=PyJHora 缺席是外部参照降级,不应把验收检查打成 fail
|
||||
assert report["status"] in {"pass", "partial"}
|
||||
assert report["checks"]["user_invocation_tests"] is True
|
||||
assert report["checks"]["guided_topics_entrypoint"] is True
|
||||
assert report["checks"]["external_adapter_diagnostics"] is True
|
||||
assert report["external_adapter_status"] in {"pass", "partial", "complete"}
|
||||
|
||||
|
||||
def test_missing_reference_engine_is_partial_not_fail() -> None:
|
||||
from scripts.user_invocation_acceptance_check import resolve_acceptance_status
|
||||
|
||||
assert resolve_acceptance_status([], {"engines": {"PyJHora/JHora": {"status": "available"}}}) == "pass"
|
||||
assert (
|
||||
resolve_acceptance_status(
|
||||
[],
|
||||
{"engines": {"PyJHora/JHora": {"missing_dependency": "pyjhora"}}},
|
||||
)
|
||||
== "partial"
|
||||
)
|
||||
assert resolve_acceptance_status(["user_invocation_pytest_failed"], {"engines": {}}) == "fail"
|
||||
|
||||
Reference in New Issue
Block a user