Import AITURK IDE 1.0.0-beta.1 from Hermes 63279301; preserve MIT license
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
"""macOS ScreenCaptureKit display_count=0 diagnosability.
|
||||
|
||||
Composed from PR #52949 (sujeet111, doctor guard) and PR #67259
|
||||
(webtecnica, actionable-hint direction): a headless Mac or asleep panel
|
||||
leaves SCK with zero shareable displays while TCC grants pass, so
|
||||
health_report says ok and every capture returns 0x0 silently. The guard
|
||||
turns that into a failed check + degraded overall + recovery hint.
|
||||
"""
|
||||
|
||||
from tools.computer_use.doctor import _apply_display_count_guard
|
||||
|
||||
|
||||
def _report(status="pass", count=0, overall="ok", name="screen_capture_capability"):
|
||||
return {
|
||||
"overall": overall,
|
||||
"checks": [
|
||||
{
|
||||
"name": name,
|
||||
"status": status,
|
||||
"message": "ScreenCaptureKit reachable",
|
||||
"data": {"display_count": count},
|
||||
}
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
def test_zero_displays_downgrades_ok_to_degraded():
|
||||
out = _apply_display_count_guard(_report(count=0))
|
||||
assert out["overall"] == "degraded"
|
||||
assert out["checks"][0]["status"] == "fail"
|
||||
assert "0 shareable" in out["checks"][0]["message"]
|
||||
assert "dongle" in out["checks"][0]["hint"]
|
||||
|
||||
|
||||
def test_positive_display_count_untouched():
|
||||
out = _apply_display_count_guard(_report(count=1))
|
||||
assert out["overall"] == "ok"
|
||||
assert out["checks"][0]["status"] == "pass"
|
||||
|
||||
|
||||
def test_already_failed_check_not_rewritten():
|
||||
out = _apply_display_count_guard(_report(status="fail", count=0, overall="degraded"))
|
||||
# Guard only flips pass->fail; an existing failure keeps its message.
|
||||
assert out["checks"][0]["message"] == "ScreenCaptureKit reachable"
|
||||
|
||||
|
||||
def test_missing_data_and_other_checks_ignored():
|
||||
out = _apply_display_count_guard(
|
||||
{"overall": "ok", "checks": [{"name": "binary_version", "status": "pass"}]}
|
||||
)
|
||||
assert out["overall"] == "ok"
|
||||
out2 = _apply_display_count_guard({"overall": "ok", "checks": "bogus"})
|
||||
assert out2["overall"] == "ok"
|
||||
|
||||
|
||||
def test_overall_failed_not_upgraded():
|
||||
out = _apply_display_count_guard(_report(count=0, overall="failed"))
|
||||
# fail-worse states are never softened to degraded.
|
||||
assert out["overall"] == "failed"
|
||||
assert out["checks"][0]["status"] == "fail"
|
||||
Reference in New Issue
Block a user