Skip to content

Conversation

@tylfin
Copy link
Member

@tylfin tylfin commented Oct 24, 2025

Motivation

With the release of v.3.29.0 of the Dotnet tracer, remote enablement should now be implemented. Unfortunately, a few tests fail so I marked them with the bug decorator and added the related JIRA issue DEBUG-4637

Changes

Updated the dotnet.yml manifest to set the feature version for Test_Debugger_InProduct_Enablement_Code_Origin, Test_Debugger_InProduct_Enablement_Dynamic_Instrumentation, and Test_Debugger_InProduct_Enablement_Exception_Replay to v3.29.0, indicating these features are now available for .NET.

Test logic improvements:

  • Added the @bug decorator (with force_skip=True) to the three corresponding test methods in test_debugger_inproduct_enablement.py to skip them for .NET due to the known issue DEBUG-4637. [1] [2] [3]
  • Imported the bug decorator in test_debugger_inproduct_enablement.py to enable conditional test skipping for .NET.

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • If PR title starts with [<language>], double-check that only <language> is impacted by the change
  • No system-tests internal is modified. Otherwise, I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added (or removed)?

@github-actions
Copy link
Contributor

CODEOWNERS have been resolved as:

manifests/dotnet.yml                                                    @DataDog/apm-dotnet @DataDog/asm-dotnet
tests/debugger/test_debugger_inproduct_enablement.py                    @DataDog/debugger @DataDog/system-tests-core

@tylfin
Copy link
Member Author

tylfin commented Oct 24, 2025

Failures for the other tests:

tests/debugger/test_debugger_inproduct_enablement.py F.FF                                                                                                                    [100%]

===================================================================================== FAILURES =====================================================================================
_____________________________________________ Test_Debugger_InProduct_Enablement_Dynamic_Instrumentation.test_inproduct_enablement_di ______________________________________________

self = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Dynamic_Instrumentation object at 0x1086d4cb0>

    def test_inproduct_enablement_di(self):
        self.assert_rc_state_not_error()
        self.assert_all_weblog_responses_ok()
    
        assert self.di_initial_disabled, "Expected probes to not be emitting when dynamic instrumentation was disabled"
>       assert self.di_explicit_enabled, "Expected probes to be emitting after enabling dynamic instrumentation"
E       AssertionError: Expected probes to be emitting after enabling dynamic instrumentation
E       assert False
E        +  where False = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Dynamic_Instrumentation object at 0x1086d4cb0>.di_explicit_enabled

tests/debugger/test_debugger_inproduct_enablement.py:59: AssertionError
-------------------------------------------------------------------------------- Captured log call ---------------------------------------------------------------------------------
12:39:31.556 INFO     weblog GET http://localhost:7777/debugger/log -> 200
12:39:31.557 DEBUG    Checking RC state for: logProbe_logaa30c-35b3-45f6-837c-ea37b44e5948
12:39:31.557 DEBUG    RC state for logProbe_logaa30c-35b3-45f6-837c-ea37b44e5948 is 0
__________________________________ Test_Debugger_InProduct_Enablement_Exception_Replay.test_inproduct_enablement_exception_replay_apm_multiconfig __________________________________

self = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Exception_Replay object at 0x1125708c0>

    @missing_feature(context.library == "python", force_skip=True)
    def test_inproduct_enablement_exception_replay_apm_multiconfig(self):
        self.assert_rc_state_not_error()
        self.assert_all_weblog_responses_ok(expected_code=500)
    
>       assert self.er_initial_enabled, "Expected snapshots to not be emitting when exception replay was disabled"
E       AssertionError: Expected snapshots to not be emitting when exception replay was disabled
E       assert False
E        +  where False = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Exception_Replay object at 0x1125708c0>.er_initial_enabled

tests/debugger/test_debugger_inproduct_enablement.py:163: AssertionError
-------------------------------------------------------------------------------- Captured log call ---------------------------------------------------------------------------------
12:39:31.619 INFO     weblog GET http://localhost:7777/exceptionreplay/multiframe -> 500
12:39:31.619 INFO     weblog GET http://localhost:7777/exceptionreplay/multiframe -> 500
12:39:31.619 DEBUG    Checking RC state for: a3f51916-40b3-4df1-bda7-39d86d8be6b2
12:39:31.619 DEBUG    RC state for a3f51916-40b3-4df1-bda7-39d86d8be6b2 is 2
12:39:31.619 DEBUG    Checking RC state for: c1db31e7-5523-482d-8969-a8418f1d74a6
12:39:31.619 DEBUG    RC state for c1db31e7-5523-482d-8969-a8418f1d74a6 is 2
12:39:31.619 DEBUG    Checking RC state for: 7366e5a3-78e8-450d-b939-918a6cb31324
12:39:31.619 DEBUG    RC state for 7366e5a3-78e8-450d-b939-918a6cb31324 is 2
12:39:31.619 DEBUG    Checking RC state for: 67868460-be87-438f-b690-bc36955a10f2
12:39:31.619 DEBUG    RC state for 67868460-be87-438f-b690-bc36955a10f2 is 2
12:39:31.619 DEBUG    Checking RC state for: d6d44ed8-46e7-45cd-9727-b136bebb0a00
12:39:31.619 DEBUG    RC state for d6d44ed8-46e7-45cd-9727-b136bebb0a00 is 2
12:39:31.619 DEBUG    Checking RC state for: 3e1f70f5-856b-453c-8320-2bff2686eda7
12:39:31.619 DEBUG    RC state for 3e1f70f5-856b-453c-8320-2bff2686eda7 is 2
_______________________________________________ Test_Debugger_InProduct_Enablement_Code_Origin.test_inproduct_enablement_code_origin _______________________________________________

self = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Code_Origin object at 0x1125703b0>

    def test_inproduct_enablement_code_origin(self):
        self.assert_rc_state_not_error()
        self.assert_all_weblog_responses_ok()
    
        assert self.er_initial_enabled, "Expected no spans when code origin was disabled"
>       assert self.er_explicit_enabled, "Expected spans to emit after enabling code origin"
E       AssertionError: Expected spans to emit after enabling code origin
E       assert False
E        +  where False = <tests.debugger.test_debugger_inproduct_enablement.Test_Debugger_InProduct_Enablement_Code_Origin object at 0x1125703b0>.er_explicit_enabled

tests/debugger/test_debugger_inproduct_enablement.py:200: AssertionError
-------------------------------------------------------------------------------- Captured log call ---------------------------------------------------------------------------------
12:39:31.621 INFO     weblog GET http://localhost:7777/healthcheck -> 200
12:39:31.621 DEBUG    Checking RC state for: 6d055e42-9681-450f-90f2-504e2dc33a6e
12:39:31.621 DEBUG    RC state for 6d055e42-9681-450f-90f2-504e2dc33a6e is 2
------------------------ generated xml file: /Users/tyler.finethy/go/src/github.com/DataDog/system-tests/logs_debugger_inproduct_enablement/reportJunit.xml ------------------------
============================================================================= short test summary info ==============================================================================
FAILED tests/debugger/test_debugger_inproduct_enablement.py::Test_Debugger_InProduct_Enablement_Dynamic_Instrumentation::test_inproduct_enablement_di - AssertionError: Expected ...
FAILED tests/debugger/test_debugger_inproduct_enablement.py::Test_Debugger_InProduct_Enablement_Exception_Replay::test_inproduct_enablement_exception_replay_apm_multiconfig - As...
FAILED tests/debugger/test_debugger_inproduct_enablement.py::Test_Debugger_InProduct_Enablement_Code_Origin::test_inproduct_enablement_code_origin - AssertionError: Expected spa...
===================================================================== 3 failed, 1 passed in 363.25s (0:06:03) =====================================================================

@tylfin tylfin marked this pull request as ready for review October 24, 2025 17:04
@tylfin tylfin requested review from a team as code owners October 24, 2025 17:04
@tylfin tylfin enabled auto-merge (squash) October 24, 2025 17:05
@tylfin tylfin merged commit 4eb28a3 into main Oct 24, 2025
30 checks passed
@tylfin tylfin deleted the tyler.finethy/DEBUG-4637 branch October 24, 2025 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants