From 9530fd5a315b9e9bf1ff5298220c742f4e04d52f Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Mon, 15 May 2006 01:49:33 +0000 Subject: Bug 337444: t/012throwables.t shouldn't fail due to unused error tags in code/user-error.html.tmpl - Patch by Frédéric Buclin r=mkanat a=justdave MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- t/012throwables.t | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 't/012throwables.t') diff --git a/t/012throwables.t b/t/012throwables.t index a055e45d0..2c7a5998b 100644 --- a/t/012throwables.t +++ b/t/012throwables.t @@ -88,7 +88,7 @@ foreach my $file (keys %test_templates) { my $errtag = $1; if ($errtag =~ /\s/) { Register(\%test_templates, $file, - "has an error definition \"$errtag\" at line $lineno with" + "has an error definition \"$errtag\" at line $lineno with " . "space(s) embedded --ERROR"); } else { @@ -164,14 +164,26 @@ foreach my $file (sort keys %test_templates) { } sub Register { - my ($hash, $file, $message) = @_; - push @{$hash->{$file}}, $message; + my ($hash, $file, $message, $warning) = @_; + # If set to 1, $warning will avoid the test to fail. + $warning ||= 0; + push(@{$hash->{$file}}, {'message' => $message, 'warning' => $warning}); } sub Report { my ($file, @errors) = @_; if (scalar @errors) { - ok(0, "$file has ". scalar @errors ." error(s):\n" . join("\n", @errors)); + # Do we only have warnings to report or also real errors? + my @real_errors = grep {$_->{'warning'} == 0} @errors; + # Extract error messages. + @errors = map {$_->{'message'}} @errors; + if (scalar(@real_errors)) { + ok(0, "$file has ". scalar(@errors) ." error(s):\n" . join("\n", @errors)); + } + else { + ok(1, "--WARNING $file has " . scalar(@errors) . + " unused error tag(s):\n" . join("\n", @errors)); + } } else { # This is used for both code and template files, so let's use @@ -196,7 +208,7 @@ sub DefinedIn { Register(\%test_templates, $file, "$errtype error tag '$errtag' is defined at line(s) (" . join (',', @{$Errors{$errtype}{$errtag}{defined_in}{$lang}{$file}}) - . ") but is not used anywhere"); + . ") but is not used anywhere", 1); } } -- cgit v1.2.3-24-g4f1b