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

Reply via email to