From 5e01c28016c18d1c82afcee59f580a2eefe05aeb Mon Sep 17 00:00:00 2001 From: codex Date: Tue, 21 Jul 2026 03:12:17 +0000 Subject: [PATCH] test(macos): cover root container exec helper --- tests/unit/test_macos_container_util.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/tests/unit/test_macos_container_util.py b/tests/unit/test_macos_container_util.py index 5fcd994..b89472f 100644 --- a/tests/unit/test_macos_container_util.py +++ b/tests/unit/test_macos_container_util.py @@ -272,6 +272,30 @@ resolver #2 ), ) + def test_exec_container_as_root_selects_root_user(self): + completed = util.subprocess.CompletedProcess( + args=[], returncode=0, stdout="", stderr="", + ) + with patch.object(util, "_run_container_op", return_value=completed) as run: + util.exec_container_as_root("bot-bottle-demo", ["true"]) + + run.assert_called_once_with([ + "container", "exec", "--user", "root", "bot-bottle-demo", "true", + ]) + + def test_exec_container_as_root_reports_failure(self): + failed = util.subprocess.CompletedProcess( + args=[], returncode=1, stdout="", stderr="permission denied\n", + ) + with patch.object(util, "_run_container_op", return_value=failed), \ + patch.object(util, "die", side_effect=SystemExit("die")) as die: + with self.assertRaises(SystemExit): + util.exec_container_as_root("bot-bottle-demo", ["true"]) + + die.assert_called_once_with( + "container exec (root) in bot-bottle-demo failed: permission denied", + ) + def _completed(stdout: str, returncode: int = 0): return util.subprocess.CompletedProcess(args=[], returncode=returncode, stdout=stdout, stderr="")