You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In production, asynchronous failures should be reported through non-fatal error handling paths
During tests, asynchronous failures should result in test failures
If the failure occurs while a test is running, the failure should produce a single-test failure (as opposed to a FailFast that crashes the runner)
If the failure occurs outside the bounds of a test, it should trigger a FailFast
I believe the easiest way to implement the above is modifying UseExportProviderAttribute to set FatalError.NonFatalHandler at the beginning of a test. This handler would collect exceptions similar to TestExtensionErrorHandler. At the end of a test, the attribute implementation would reset FatalError.NonFatalHandler to a general handler that triggers a FailFast, and then throw any exceptions that were captured during the current test.
The text was updated successfully, but these errors were encountered:
Non-fatal error telemetry exceptions and stack traces are actually logged (to the servicehub folder) when running inside Visual Studio, which means we are already capturing the desired data in roslyn-integration-CI. Capturing the same details for roslyn-CI involves ensuring something like this is running in unit test cases to log errors:
Version Used: ffa4e6d
Expected Behavior:
In production, asynchronous failures should be reported through non-fatal error handling paths
During tests, asynchronous failures should result in test failures
FailFast
that crashes the runner)FailFast
I believe the easiest way to implement the above is modifying
UseExportProviderAttribute
to setFatalError.NonFatalHandler
at the beginning of a test. This handler would collect exceptions similar toTestExtensionErrorHandler
. At the end of a test, the attribute implementation would resetFatalError.NonFatalHandler
to a general handler that triggers aFailFast
, and then throw any exceptions that were captured during the current test.The text was updated successfully, but these errors were encountered: