-
Notifications
You must be signed in to change notification settings - Fork 140
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Exception Replay] Added test suite for ASP.NET Core (#5821)
## Summary of changes Added the infrastructure of integration testing for Exception Replay in ASP.NET Core. To add a test, one needs to simply create a class that inherits from `IRun` / `IAsyncRun` and decorated with `ExceptionReplayTestData` attribute, providing to the attribute the amount of snapshots anticipated both in default configuration and full stack trace capture configuration. This PR also introduces the renaming of the configs of Exception Replay from Exception Debugging. In the early days we used to call Exception Replay internally Exception Debugging, thus some of the configs held this name. This PR renamed those leftovers to Exception Replay, including the enablement config of `DD_EXCEPTION_REPLAY_ENABLED`. [Introduced a PR to `dd-go`](DataDog/dd-go#146180) too where these configs were added to the `config_norm_rules.json` file. ## Reason for change Laying the groundwork for integration testing of Exception Replay. ## Implementation details The testing infra bootstraps the web app, queries via reflection all the tests (classes inheriting from `IRun`/`IAsyncRun` and decorated with `ExceptionReplayTestData` attribute) and list them. Upon executing a test, a request will hit an endpoint of `RunTest` with the name of the test to run (FQN of the class name). The crafted test must throw an exception to be considered valid. For a more complex test scenarios, more endpoints could be introduced. Every test runs in 4 flavors: - With Exception Replay while Dynamic Instrumentation is **enabled**, default stack trace capturing limit. - With Exception Replay while Dynamic Instrumentation is **enabled**, full stack trace capturing limit. - With Exception Replay while Dynamic Instrumentation is **disabled**, default stack trace capturing limit. - With Exception Replay while Dynamic Instrumentation is **disabled**, full stack trace capturing limit. ## Test coverage This whole PR 🤓. I've added two tests that utilize the infra: - `ExceptionWithNonSupportedFramesTest` - `RecursiveExceptionTest` ## Other details Fixes DEBUG-2681, DEBUG-2732, DEBUG-1642.
- Loading branch information
1 parent
d21bf77
commit 01c50c3
Showing
50 changed files
with
17,168 additions
and
226 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.