Protect credential transport from sudo I/O logging and report matched platforms

This commit is contained in:
FrameBridge compatibility build committed 2026-10-27 11:06:05 -04:00
1 parent a48a20c936
commit 12a03a1f97
9 files changed
+285 -25

No files matched your search

@@ -0,0 +1,37 @@
import argparse
import contextlib
import io
import sys
import unittest
from pathlib import Path
from unittest import mock
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "expanded"))
from framebridge_expanded import cli
class DoctorPlatformOutputTests(unittest.TestCase):
def render(self, compatibility, ok):
result = {"ok": ok, "compatible_debian_13_amd64": False,
"platform_compatibility": compatibility, "display": "unavailable"}
runtime = mock.Mock()
runtime.doctor.return_value = result
output = io.StringIO()
with mock.patch.object(cli, "_module", return_value=runtime), contextlib.redirect_stdout(output):
code = cli._doctor_command(argparse.Namespace(json=False), Path("/unused-test-state"))
return code, output.getvalue()
def test_supported_ubuntu_uses_current_profile_not_legacy_debian_flag(self):
code, text = self.render({"ok": True, "profile_id": "ubuntu24.04-amd64-py312", "issues": []}, True)
self.assertEqual(code, 0)
self.assertIn("Platform: compatible", text)
self.assertIn("ubuntu24.04-amd64-py312", text)
self.assertNotIn("Debian 13 amd64:", text)
def test_incompatible_abi_is_explained_in_human_diagnostics(self):
code, text = self.render({"ok": False, "profile_id": "mint22-amd64-py312",
"issues": ["Installed artifact profile/ABI does not match this operating system and interpreter."]}, False)
self.assertNotEqual(code, 0)
self.assertIn("not verified compatible", text)
self.assertIn("profile/ABI does not match", text)
if __name__ == "__main__":
unittest.main()