| #!/usr/bin/perl | |
| # SPDX-License-Identifier: GPL-2.0 | |
| @regexps = @ARGV; | |
| $max_printed_lines = 20; | |
| $max_printed_lines = $ENV{TESTLOG_ERR_MSG_MAX_LINES} if (defined $ENV{TESTLOG_ERR_MSG_MAX_LINES}); | |
| $quiet = 1; | |
| $quiet = 0 if (defined $ENV{TESTLOG_VERBOSITY} && $ENV{TESTLOG_VERBOSITY} ge 2); | |
| $passed = 1; | |
| $lines_printed = 0; | |
| while (<STDIN>) | |
| { | |
| s/\n//; | |
| $line_matched = 0; | |
| for $r (@regexps) | |
| { | |
| if (/$r/) | |
| { | |
| $line_matched = 1; | |
| last; | |
| } | |
| } | |
| unless ($line_matched) | |
| { | |
| if ($lines_printed++ < $max_printed_lines) | |
| { | |
| print "Line did not match any pattern: \"$_\"\n" unless $quiet; | |
| } | |
| $passed = 0; | |
| } | |
| } | |
| exit ($passed == 0); |