-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
XML reporter leaves empty file if the process is killed by a signal #663
Comments
Strictly speaking this can be worked-around by redirecting std-out, but it should be investigated anyway. |
This is potentially fixed by 84af6bc - but needs testing |
This seems to be fixed, just throwing in |
Occasionally, I get the same assert triggered on my CI builds:
couldn't reproduce it outside, yet, and rerunning the build usually fixes it.
|
when a test executable is killed by a signal (e.g. when executed by ctest with timeout), the reporter files are not flushed. this can lead to incomplete (or empty) report files. to avoid this we enable automatic flushing via `std::unitbuf` compare catchorg#663
when a test executable is killed by a signal (e.g. when executed by ctest with timeout), the reporter files are not flushed. this can lead to incomplete (or empty) report files. to avoid this we enable automatic flushing via `std::unitbuf` compare #663
According to the reporter documentation the xml reporter is streaming and thus I would expect at least partial output if the process is killed a by SIGINT. This is true if I run the binary as
./a.out -r xml
, but if I run the binary as./a.out -r xml -o outfile
, I end up with an empty file.In contrast, if I use the default or
compact
reporter, the output on stdout and in the outfile will be the same, which is a partial output until the signal was encountered.Using
JUnit
reporter seems to trigger an assertion:The text was updated successfully, but these errors were encountered: