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