diff options
author | Petr Rockai <prockai@redhat.com> | 2014-10-01 11:28:15 +0200 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2014-10-01 11:28:15 +0200 |
commit | e639dd107f66eb47dfeec2d3b84d81fb974c8336 (patch) | |
tree | 4749c0d76692406075310971348b3019672a262d | |
parent | 2eadbe8d181eb549412143301c96e1398a367c79 (diff) | |
download | lvm2-e639dd107f66eb47dfeec2d3b84d81fb974c8336.tar.gz |
test: Properly detect warnings from testcases.
-rw-r--r-- | test/lib/brick-shelltest.h | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/test/lib/brick-shelltest.h b/test/lib/brick-shelltest.h index 71194cfc3..7a2b8f0db 100644 --- a/test/lib/brick-shelltest.h +++ b/test/lib/brick-shelltest.h @@ -543,8 +543,22 @@ struct KMsg : Source { }; struct Observer : Sink { - Observer() {} - void push( std::string ) {} + TimedBuffer stream; + + bool warnings; + Observer() : warnings( false ) {} + + void push( std::string s ) { + stream.push( s ); + } + + void sync( bool force ) { + while ( !stream.empty( force ) ) { + TimedBuffer::Line line = stream.shift( force ); + if ( line.second.find( "TEST WARNING" ) != std::string::npos ) + warnings = true; + } + } }; struct IO : Sink { @@ -850,6 +864,9 @@ struct TestCase { else r = Journal::FAILED; + if ( r == Journal::PASSED && io.observer().warnings ) + r = Journal::WARNED; + io.close(); if ( iobuf && ( r == Journal::FAILED || r == Journal::TIMEOUT ) ) |