I'd like to propose a new stream redirect/suppress option or perhaps just expand the existing option in libMesh.
Motivation: Our regression testing system has long struggled with the proper way to handle interleaved output due to multiple processors triggering expected errors in application code and outputting to the shared console. We've talked about using stdout vs stderr several times but the truth is we have the need to use both output streams for various uses (non-fatal warnings versus fatal errors, etc) and all of these things also need to be tested. Neither one of the existing options (--redirect-stdout, --keep-cout) are ideal for creating a robust testing system. The redirect option is close to what I'd like to use but the problem is I don't like the fact that using that option makes the application completely silent on the terminal. Using this option in the testing system would be problematic for some of our less savvy users who copy 'n' paste the run commands when replicating errors on their system. Also, it would create a lot of extra output file management problems with running several tests at once in parallel potentially in the same directory (a common MOOSE occurrence). I'd like a new option that allows us to suppress the output from all ranks except the master on both output streams. This would make the output of error messages encountered on all ranks always clean so that we wouldn't have spurious failures on new tests looking for error or warning messages in the console output. I would also propose that we add additional logic to the main libMesh destructor to print a message about streams being suppressed when the library terminates with an error code in case an error is triggered on a non-master rank and the error message isn't seen on the terminal. TL;DR; I'd like a new stream suppression option in libMesh, perhaps "--suppress-parallel-output"?
------------------------------------------------------------------------------
_______________________________________________ Libmesh-devel mailing list Libmesh-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-devel