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()