From 1a2e22d4f9e16a5e3b7f1b0b0f4b46ef68f1de18 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sun, 23 Aug 2026 02:10:56 +0000 Subject: [PATCH] test: add coverage for observe inner function Adds a new test file `tests/test_run_test_observe.py` to ensure the nested `observe` function inside `_run_test` correctly tracks output stream limits and stream byte counts. Co-authored-by: joy7758 <138868899+joy7758@users.noreply.github.com> --- tests/test_run_test_observe.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/test_run_test_observe.py diff --git a/tests/test_run_test_observe.py b/tests/test_run_test_observe.py new file mode 100644 index 0000000..0327d02 --- /dev/null +++ b/tests/test_run_test_observe.py @@ -0,0 +1,27 @@ +import sys +import unittest + +from titmas_action_gate.pr_gate import MAX_TOTAL_TEST_OUTPUT_BYTES, _run_test + + +class RunTestOutputObservationTests(unittest.TestCase): + def test_run_test_observes_output_streams(self) -> None: + command = [sys.executable, "-c", "import sys; sys.stdout.write('out'); sys.stderr.write('err')"] + result = _run_test(command, execute=True, environment={}, workspace=None) + + self.assertEqual(result["exit_code"], 0) + self.assertEqual(result["stdout_bytes"], 3) + self.assertEqual(result["stderr_bytes"], 3) + self.assertEqual(result["combined_output_bytes"], 6) + self.assertFalse(result["output_limit_exceeded"]) + + def test_run_test_observes_output_limit_exceeded(self) -> None: + command = [sys.executable, "-c", f"import sys; sys.stdout.write('x' * ({MAX_TOTAL_TEST_OUTPUT_BYTES} + 1))"] + result = _run_test(command, execute=True, environment={}, workspace=None) + + self.assertTrue(result["output_limit_exceeded"]) + self.assertEqual(result["exit_code"], 125) + + +if __name__ == "__main__": + unittest.main()