
Some intended-to-fail run-make tests on Windows will spam a bunch of Windows Error Reporting (WER) error dialogues because failing to find DLLs and such. However, nobody else ran into this because it has three necessary conditions to trigger:
- You need to be using a terminal emulator that's not Windows Terminal™.
- You also need to be using a sufficiently new version of PowerShell.
- Oh, and you have to be using "native" Windows msvc (not msys2 or windows-gnu) and running the
run-make test suite. Not many contributors do in the first place.
compiletest has a mitigation for this:
|
// Tell Windows to not show any UI on errors (such as terminating abnormally). |
|
// This is important for running tests, since some of them use abnormal |
|
// termination by design. This mode is inherited by all child processes. |
|
unsafe { |
|
let old_mode = SetErrorMode(SEM_NOGPFAULTERRORBOX); // read inherited flags |
|
let old_mode = THREAD_ERROR_MODE(old_mode); |
|
SetErrorMode(old_mode | SEM_NOGPFAULTERRORBOX); |
|
let r = f(); |
|
SetErrorMode(old_mode); |
|
r |
|
} |
However, this seems to be missing a SEM_FAILCRITICALERRORS flag.
Some intended-to-fail run-make tests on Windows will spam a bunch of Windows Error Reporting (WER) error dialogues because failing to find DLLs and such. However, nobody else ran into this because it has three necessary conditions to trigger:
cmd.exeor File Explorer: Configurable behavior on critical error: message on Error stream or pop-up dialog PowerShell/PowerShell#16468.run-maketest suite. Not many contributors do in the first place.compiletesthas a mitigation for this:rust/src/tools/compiletest/src/runtest.rs
Lines 70 to 80 in b8bb296
However, this seems to be missing a
SEM_FAILCRITICALERRORSflag.