In particular do so when validating failures so errors are caught when the failure is created / modified.
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- testbot/lib/WineTestBot/Failures.pm | 1 + testbot/lib/WineTestBot/LogUtils.pm | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/testbot/lib/WineTestBot/Failures.pm b/testbot/lib/WineTestBot/Failures.pm index 4a65374988..dee8b68558 100644 --- a/testbot/lib/WineTestBot/Failures.pm +++ b/testbot/lib/WineTestBot/Failures.pm @@ -104,6 +104,7 @@ sub Validate($) my ($Field, $Name) = @$Pair; my $RegExp = $self->$Field; my $ErrMessage = eval { + use warnings FATAL => qw(regexp); if ($RegExp and "" =~ /$RegExp/) { return "The $Name regular expression should not match empty strings"; diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index 99941b54a1..651c1d0a47 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -1391,7 +1391,10 @@ sub MatchLogFailures($$) { # Ignore failures that don't apply to this configuration my $ConfigRegExp = $Failure->ConfigRegExp; - my $Match = eval { !$ConfigRegExp or $ConfigName =~ /$ConfigRegExp/ }; + my $Match = eval { + use warnings FATAL => qw(regexp); + !$ConfigRegExp or $ConfigName =~ /$ConfigRegExp/; + }; next if (!$Match);
my $UnitFailures = $FailureTree{$Failure->ErrorGroup}->{$Failure->TestUnit} ||= []; @@ -1413,7 +1416,10 @@ sub MatchLogFailures($$) foreach my $UnitFailure (@$UnitFailures) { my $RegExp = $UnitFailure->FailureRegExp; - my $Match = eval { $RegExp and $Line =~ /$RegExp/ }; + my $Match = eval { + use warnings FATAL => qw(regexp); + $RegExp and $Line =~ /$RegExp/; + }; next if (!$Match);
my $LineFailures = $Group->{Failures}->{$ErrIndex} ||= [];