summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2014-10-01 11:28:15 +0200
committerPetr Rockai <prockai@redhat.com>2015-02-05 13:51:06 +0100
commitd8983d4bd4c76381c8bd9149c942b83cd8d013b4 (patch)
treef7502ddcbbba9e6d2fc1d2c30ca84cbc3aa487bb
parentc96e42006d3bbbcc21cf952c96bf1fc7b15f1bd0 (diff)
downloadlvm2-d8983d4bd4c76381c8bd9149c942b83cd8d013b4.tar.gz
test: Properly detect warnings from testcases.
-rw-r--r--test/lib/brick-shelltest.h21
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 ) )