From e04940f5e8edd47b5f78f0f8c29f7ffdce600812 Mon Sep 17 00:00:00 2001 From: Alex Ovsienko Date: Tue, 6 Jan 2026 00:14:32 -0800 Subject: [PATCH] siso: always set the collector address, do not assume default behavior. Bug: b/455433899 Change-Id: Ib8c0c3041cac5491e70986c0e7a60d386a6a6964 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/7367697 Commit-Queue: Alex Ovsienko Reviewed-by: Junji Watanabe --- siso.py | 4 +++ tests/siso_test.py | 64 +++++++++++++++++++++++++++------------------- 2 files changed, 41 insertions(+), 27 deletions(-) diff --git a/siso.py b/siso.py index f6a4e26dc2..32db097465 100644 --- a/siso.py +++ b/siso.py @@ -180,6 +180,8 @@ def _start_collector(siso_path: str, sockets_file: Optional[str], cmd = [siso_path, "collector", "--project", project] if sockets_file: cmd += ["--collector_address", f"unix://{sockets_file}"] + else: + cmd += ["--collector_address", _OTLP_DEFAULT_TCP_ENDPOINT] subprocess.Popen( cmd, stdout=subprocess.DEVNULL, @@ -358,6 +360,8 @@ def _handle_collector_args(siso_path: str, args: list[str], if started: if sockets_file: args.append(f"--collector_address=unix://{sockets_file}") + else: + args.append(f"--collector_address={_OTLP_DEFAULT_TCP_ENDPOINT}") else: print("Collector never came to life", file=sys.stderr) if "-enable_collector" in args: diff --git a/tests/siso_test.py b/tests/siso_test.py index 936f01219b..7603a52fcc 100755 --- a/tests/siso_test.py +++ b/tests/siso_test.py @@ -380,12 +380,14 @@ def test_handle_collector_args_starts_windows(mocker: Any) -> None: siso_path = "path/to/siso" env = {"SISO_PROJECT": "test-project"} args = ["ninja", "--enable_collector"] - original_args = list(args) result = siso._handle_collector_args(siso_path, args, env) - assert result == ["ninja", "--enable_collector"] - mock_fetch.assert_called_once_with(original_args, env) + assert result == [ + "ninja", "--enable_collector", + f"--collector_address={siso._OTLP_DEFAULT_TCP_ENDPOINT}" + ] + mock_fetch.assert_called_once_with(args, env) mock_start_collector.assert_called_once_with(siso_path, None, "test-project") @@ -875,12 +877,14 @@ def test_start_collector_dead_then_healthy(platform: str, creationflags: int, result = siso._start_collector(siso_path, None, project) assert result - m["subprocess_popen"].assert_called_once_with( - [siso_path, "collector", "--project", project], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - start_new_session=True, - creationflags=creationflags) + m["subprocess_popen"].assert_called_once_with([ + siso_path, "collector", "--project", project, "--collector_address", + siso._OTLP_DEFAULT_TCP_ENDPOINT + ], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + start_new_session=True, + creationflags=creationflags) m["kill_collector"].assert_not_called() @@ -922,12 +926,14 @@ def test_start_collector_unhealthy_then_healthy( result = siso._start_collector(siso_path, None, project) assert result - m["subprocess_popen"].assert_called_once_with( - [siso_path, "collector", "--project", project], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - start_new_session=True, - creationflags=0) + m["subprocess_popen"].assert_called_once_with([ + siso_path, "collector", "--project", project, "--collector_address", + siso._OTLP_DEFAULT_TCP_ENDPOINT + ], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + start_new_session=True, + creationflags=0) m["kill_collector"].assert_called_once() @@ -982,12 +988,14 @@ def test_start_collector_never_healthy(start_collector_mocks: Dict[str, Any], siso._start_collector(siso_path, None, project) - m["subprocess_popen"].assert_called_once_with( - [siso_path, "collector", "--project", project], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - start_new_session=True, - creationflags=0) + m["subprocess_popen"].assert_called_once_with([ + siso_path, "collector", "--project", project, "--collector_address", + siso._OTLP_DEFAULT_TCP_ENDPOINT + ], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + start_new_session=True, + creationflags=0) m["kill_collector"].assert_not_called() @@ -1029,12 +1037,14 @@ def test_start_collector_healthy_after_retries(start_collector_mocks: Dict[str, result = siso._start_collector(siso_path, None, project) assert result - m["subprocess_popen"].assert_called_once_with( - [siso_path, "collector", "--project", project], - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - start_new_session=True, - creationflags=0) + m["subprocess_popen"].assert_called_once_with([ + siso_path, "collector", "--project", project, "--collector_address", + siso._OTLP_DEFAULT_TCP_ENDPOINT + ], + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + start_new_session=True, + creationflags=0) m["kill_collector"].assert_not_called()