ctest --interactive-debug-mode not allowing error dialog on Windows

Running a Windows executable with PATH missing the path to a required .dll that’s not on the working directory typically causes error code 0xc0000135 and a popup dialog telling which .dll file is missing.

With CTest (across any version of CMake I’ve used in past couple years), a missing DLL on PATH does not cause this popup dialog to appear (but 0xc0000135 is raised). The solution would seem to be:

ctest --interactive-debug-mode 1

However this does not seem to have any effect. Is this something that broke at some point? Like something that worked on Windows XP or 7 and not on 10?
Having this work (again) would be quite helpful when unit tests fail on user Windows computers.

Hmm. I’ve always at least seen the 0xc0000135 come back as the exit code and CTest shows that. I don’t think the dialog is all that helpful other than that (unless it now finally mentions the DLL name that couldn’t be found?).

The defaults seem to be what one would want at least. Are the tests you’re running blocking it somehow?

Yes I get 0xc0000135 printed out by ctest without any options and the test fails. However I (or more importantly the user) doesn’t have any clue what that means or even so, what .dll is missing.

The popup dialog does tell what file is missing, but the popup doesn’t occur as noted above. Unless I run the .exe by hand without CTest.

This sounds like a bug to me. Please file an issue about this.

OK thanks I opened an issue CTest: not opening popups on Windows error (#22287)

It was determined there that this is now the expected behavior, and I changed that issue to request updating ctest(1) docs to note this.

This was handled by a documentation MR Help: Document ctest(1) --interactive-debug-mode limitation (!6211) · Merge requests · CMake / CMake · GitLab (kitware.com) that notes popup error dialogs are not available since CMake 3.11