diff --git a/tests/internal/service_name/test_extra_services_names.py b/tests/internal/service_name/test_extra_services_names.py index 5311b854c69..483e296d52a 100644 --- a/tests/internal/service_name/test_extra_services_names.py +++ b/tests/internal/service_name/test_extra_services_names.py @@ -20,8 +20,16 @@ def test_config_extra_service_names_fork(run_python_code_in_subprocess): pid = os.fork() if pid == 0: # Child process - ddtrace.config._add_extra_service(f"extra_service_{i}") - time.sleep(0.1) # Ensure the child has time to save the service + service_name = f"extra_service_{i}" + ddtrace.config._add_extra_service(service_name) + # Ensure the child has time to save the service + for _ in range(30): + time.sleep(0.1) + if service_name in set(ddtrace.config._extra_services_queue.peekall()): + break + else: + msg = f"extra service name '{service_name}' not emitted by child" + raise RuntimeError(msg) sys.exit(0) else: # Parent process