From d57b9c21b4db7ad18c6742063498528ddb0dc096 Mon Sep 17 00:00:00 2001 From: Rithika Narayan Date: Wed, 21 Oct 2026 10:35:54 -0400 Subject: [PATCH] Disable unittest and selenium --- Dockerfile | 12 ++++++------ datadog_lambda/patch.py | 5 ++++- tests/test_patch.py | 12 ++++++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1e112f81..8b8f9a09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -42,12 +42,12 @@ RUN rm -rf \ # CI Visibility paths/integrations RUN rm -rf \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/coverage/ \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/pytest/ \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/pytest_bdd/ \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/pytest_benchmark/ \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/selenium/ \ - ./python/lib/$runtime/site-packages/ddtrace/contrib/unittest/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/coverage/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/pytest/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/pytest_bdd/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/pytest_benchmark/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/selenium/ \ + ./python/lib/$runtime/site-packages/ddtrace/contrib/internal/unittest/ \ ./python/lib/$runtime/site-packages/ddtrace/ext/ci_visibility \ ./python/lib/$runtime/site-packages/ddtrace/ext/test_visibility \ ./python/lib/$runtime/site-packages/ddtrace/internal/ci_visibility \ diff --git a/datadog_lambda/patch.py b/datadog_lambda/patch.py index 6d2af0dc..c62cb7c6 100644 --- a/datadog_lambda/patch.py +++ b/datadog_lambda/patch.py @@ -30,7 +30,10 @@ def patch_all(): _patch_for_integration_tests() if config.trace_enabled: - patch_all_dd() + # unittest and selenium are CI Visibility integrations. The layer strips + # their code and ddtrace.internal.ci_visibility, so leaving them enabled + # logs an import error whenever the user's code imports those modules. + patch_all_dd(unittest=False, selenium=False) else: _patch_http() _ensure_patch_requests() diff --git a/tests/test_patch.py b/tests/test_patch.py index b03d2e23..dec539e1 100644 --- a/tests/test_patch.py +++ b/tests/test_patch.py @@ -94,3 +94,15 @@ def test_patch_requests_with_headers_none(self): self.assertEqual(r.request.headers[TraceHeader.TRACE_ID], "123") self.assertEqual(r.request.headers[TraceHeader.PARENT_ID], "321") self.assertEqual(r.request.headers[TraceHeader.SAMPLING_PRIORITY], "2") + + +@patch("datadog_lambda.patch.patch_all_dd") +@patch("datadog_lambda.patch.config") +def test_patch_all_disables_ci_visibility_integrations(mock_config, mock_patch_all_dd): + from datadog_lambda.patch import patch_all + + mock_config.trace_enabled = True + mock_config.integration_test = False + patch_all() + + mock_patch_all_dd.assert_called_once_with(unittest=False, selenium=False)