Well we'd need to redirect stderr too or we'd still have interleaved
messages on that stream. I'm not sure I care to really redirect. I think
I'd rather just drop them and print a message about running without that
flag if the exit code is non-zero.

On Wed, Aug 24, 2016 at 12:08 PM John Peterson <jwpeter...@gmail.com> wrote:

> On Wed, Aug 24, 2016 at 9:02 AM, Cody Permann <codyperm...@gmail.com>
> wrote:
>
>> 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"?
>>
>
> Seems reasonable, but I thought what you were originally after was a
> --redirect-all-but-processor0-stdout flag??
>
> --
> John
>
------------------------------------------------------------------------------
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to