-
Notifications
You must be signed in to change notification settings - Fork 10.3k
Run automated tests on debug builds #11632
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I'd go for this option; at least one (e.g. Windows); preferably two (e.g. Windows and Linux); while keeping the current release testing that runs. |
This is also relatively easy to do in parallel by simply adding jobs to the YAML of DOOM. It theoretically would magnify existing flakiness slightly by giving flaky tests and extra couple chances to fail, but we need to drive those down anyway. We should also make sure we know the behavior and diagnosability of
Why not both? We could have a helper that writes a critical log (for Release) and does a |
We run on release and debug in Extensions so there is prior art |
@anurse Can we define tests that run nightly instead of on every PR/checking using the YAML of DOOM? |
I'm looking at signalr-daily-tests.yml, but I don't see the trigger. |
I see the comment about scheduled triggers, but I don't see any "schedules:" in any yaml files. Do I need an AzDo admin account? |
Schedules in YAML didn't exist when we made the SignalR daily tests. |
Might be worthwhile but sounds more like a DoI issue |
Adding @JunTaoLuo as an assignee. Suggest focusing on daily aspnetcore-ci and aspnetcore-helix-matrix runs that override the |
Note obvious answer of adding a variable override to a |
My understanding is that our CI servers now only run automated tests against release builds. If that's the case, this means that the many Debug.Asserts throughout the AspNetCore repo are pretty worthless since we can only ever see an assertion failures by running tests or samples locally even the Debug.Asserts in the test projects themselves.
I think the best solution is to run our automated tests against debug builds. I'm not asking for all our testing to be done against debug builds, but nightly tests of debug builds would probably be a good idea.
@davidfowl suggested using critical logs to replace Debug.Asserts. That was definitely the right approach for #11624, but in a lot of places we assert currently we don't have a logger. There's also the problem that not all our tests will fail given a critical log, but a lot will.
Changing Debug.Asserts to Trace.Asserts seems like a somewhat reasonable idea, but not only does that create performance concerns, it could also potentially introduce new DoS vectors as @benaadams rightfully pointed out.
The text was updated successfully, but these errors were encountered: