From a85c6bead7771828a406fc8cea863039b2a2c85a Mon Sep 17 00:00:00 2001 From: Steve Hancock Date: Tue, 5 May 2020 20:56:24 -0700 Subject: [PATCH] improved test case error messages --- t/snippets/make_t.pl | 83 +++++++++++++++++++++++++++++++++++++++----- t/snippets1.t | 21 +++++++---- t/snippets10.t | 21 +++++++---- t/snippets11.t | 21 +++++++---- t/snippets12.t | 21 +++++++---- t/snippets13.t | 21 +++++++---- t/snippets14.t | 21 +++++++---- t/snippets15.t | 21 +++++++---- t/snippets16.t | 21 +++++++---- t/snippets17.t | 21 +++++++---- t/snippets18.t | 21 +++++++---- t/snippets19.t | 21 +++++++---- t/snippets2.t | 21 +++++++---- t/snippets20.t | 21 +++++++---- t/snippets3.t | 21 +++++++---- t/snippets4.t | 21 +++++++---- t/snippets5.t | 21 +++++++---- t/snippets6.t | 21 +++++++---- t/snippets7.t | 21 +++++++---- t/snippets8.t | 21 +++++++---- t/snippets9.t | 21 +++++++---- 21 files changed, 355 insertions(+), 148 deletions(-) diff --git a/t/snippets/make_t.pl b/t/snippets/make_t.pl index 78a27c51..9c182015 100755 --- a/t/snippets/make_t.pl +++ b/t/snippets/make_t.pl @@ -91,11 +91,14 @@ my @exp = glob("$ipath*"); #print "exp=(@exp)\n"; my $ix = 0; my $rix_lookup = {}; -foreach my $file_exp (@exp) { +my %is_basename; +foreach my $file_exp (sort @exp) { my $estring = $get_string->($file_exp); my $ename = $file_exp; if ( $ename =~ /([^\/]+)$/ ) { $ename = $1 } my ( $sname, $pname ) = split /\./, $ename; + my $sroot = ( $sname =~ /^([^\d]+)/ ) ? $1 : $sname; + if ( $sroot ne $sname && $pname ne 'def' ) { $is_basename{$pname}++ } $get_source->($sname); $get_param->($pname); @@ -104,6 +107,46 @@ foreach my $file_exp (@exp) { $ix++; } +# Find the base names. NOTE: I tried packing by basename, which makes tracking +# down errors a little easier, and makes the files change less frequently, but +# the run times increased too much over the 'snippets*.t' packing method. For +# example, here are times recorded in April 2020 + +# packing in 20 files, snippets1.t ... snippets20.t: 17.7 s +# packing in 226 files, 105484.t ... wngnu1.t: 44.7 s + +# so there is over a factor of 2 increase in run time for the convenience of +# packing by base name. The extra time is due to continually reloading +# perltidy for tiny snippets of code. Since I run 'make test' frequently, I +# decided to stay with the snippets*.t packing. I have left the base name +# coding in just in case I ever need the basenames. + +my $rpacking_by_basename = {}; +foreach my $item ( @{$rtests} ) { + my ( $ename, $pname, $sname, $estring ) = @{$item}; + + # The base name is either $sname or $sroot + my $basename; + my $proot = ( $pname =~ /^([^\d]+)/ ) ? $1 : $pname; + my $sroot = ( $sname =~ /^([^\d]+)/ ) ? $1 : $sname; + + if ( $sname eq $pname ) { $basename = $sname } + elsif ( $sname eq $sroot ) { $basename = $sname } + elsif ( $sroot eq $proot ) { $basename = $sroot } + elsif ( $pname eq 'def' ) { + if ( $is_basename{$sroot} ) { $basename = $sroot } + else { $basename = $sname } + } + else { + # shouldn't happen + $basename = "$sname-$pname"; + print STDERR + "Unexpected filename $sname.$pname, using basename=$basename\n"; + } + push @{$item}, $basename; + push @{ $rpacking_by_basename->{$basename} }, $item; +} + # assign indexes to existing packing locations my $rassigned; my $rcount; @@ -187,6 +230,23 @@ EOM write_packing_list("$fpacking_list", $rpacking_list); print "Now run a 'make test' from the top directory to check these\n"; +# Example showing how to pack the snippet files using base names +# See above note on the problem this causes with run times +if (0) { + foreach my $basename ( sort keys %{$rpacking_by_basename} ) { + my @tests = @{ $rpacking_by_basename->{$basename} }; + my $ofile = "/tmp/t/$basename.t"; ## FIXME: Just for testing + my $num = @tests; + if ($num) { + make_snippet_t( $ofile, \@tests, $rparams, $rsources ); + print "writing $num tests to $ofile\n"; + } + else { + print STDERR "Strange; no files for $basename\n"; + } + } +} + sub write_packing_list { my ( $ofile, $rpacking ) = @_; if (-e $ofile) {system "mv $ofile $ofile.bak"} @@ -405,30 +465,37 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR - "This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok(!$err); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR - "This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok(!$stderr_string); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR - "This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok(!$errorfile_string); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } EOM diff --git a/t/snippets1.t b/t/snippets1.t index b18edac3..30903c46 100644 --- a/t/snippets1.t +++ b/t/snippets1.t @@ -537,29 +537,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets10.t b/t/snippets10.t index 944ffde5..231cbcc9 100644 --- a/t/snippets10.t +++ b/t/snippets10.t @@ -1011,29 +1011,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets11.t b/t/snippets11.t index edf75508..eba9fcd8 100644 --- a/t/snippets11.t +++ b/t/snippets11.t @@ -576,29 +576,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets12.t b/t/snippets12.t index e35da614..7531ef36 100644 --- a/t/snippets12.t +++ b/t/snippets12.t @@ -590,29 +590,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets13.t b/t/snippets13.t index 67bd8e0c..257c1e4a 100644 --- a/t/snippets13.t +++ b/t/snippets13.t @@ -450,29 +450,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets14.t b/t/snippets14.t index 731f0bbe..59a36c8f 100644 --- a/t/snippets14.t +++ b/t/snippets14.t @@ -1057,29 +1057,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets15.t b/t/snippets15.t index 76dae13d..e3ee645c 100644 --- a/t/snippets15.t +++ b/t/snippets15.t @@ -518,29 +518,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets16.t b/t/snippets16.t index 5a67997e..768304f9 100644 --- a/t/snippets16.t +++ b/t/snippets16.t @@ -462,29 +462,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets17.t b/t/snippets17.t index 22b3ca30..7d973fd2 100644 --- a/t/snippets17.t +++ b/t/snippets17.t @@ -1018,29 +1018,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets18.t b/t/snippets18.t index 140b62ad..7f7c6716 100644 --- a/t/snippets18.t +++ b/t/snippets18.t @@ -670,29 +670,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets19.t b/t/snippets19.t index ceef46da..b40eb2e0 100644 --- a/t/snippets19.t +++ b/t/snippets19.t @@ -445,29 +445,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets2.t b/t/snippets2.t index ef199cfc..1ffb7d64 100644 --- a/t/snippets2.t +++ b/t/snippets2.t @@ -522,29 +522,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets20.t b/t/snippets20.t index df6753fb..b1070e62 100644 --- a/t/snippets20.t +++ b/t/snippets20.t @@ -97,29 +97,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets3.t b/t/snippets3.t index 725ee9f0..ee5508c7 100644 --- a/t/snippets3.t +++ b/t/snippets3.t @@ -843,29 +843,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets4.t b/t/snippets4.t index 7de24453..40eb8e6e 100644 --- a/t/snippets4.t +++ b/t/snippets4.t @@ -545,29 +545,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets5.t b/t/snippets5.t index fffdcf8c..ac9eed51 100644 --- a/t/snippets5.t +++ b/t/snippets5.t @@ -943,29 +943,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets6.t b/t/snippets6.t index 4bfdcc6b..dccba331 100644 --- a/t/snippets6.t +++ b/t/snippets6.t @@ -433,29 +433,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets7.t b/t/snippets7.t index b2954471..dae9f6c7 100644 --- a/t/snippets7.t +++ b/t/snippets7.t @@ -538,29 +538,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets8.t b/t/snippets8.t index 3b80a40a..a90c35a6 100644 --- a/t/snippets8.t +++ b/t/snippets8.t @@ -480,29 +480,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } diff --git a/t/snippets9.t b/t/snippets9.t index c187d93f..de7ebd8c 100644 --- a/t/snippets9.t +++ b/t/snippets9.t @@ -502,29 +502,36 @@ foreach my $key ( sort keys %{$rtests} ) { errorfile => \$errorfile_string, # not used when -se flag is set ); if ( $err || $stderr_string || $errorfile_string ) { + print STDERR "Error output received for test '$key'\n"; if ($err) { - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; + print STDERR "An error flag '$err' was returned\n"; ok( !$err ); } if ($stderr_string) { print STDERR "---------------------\n"; print STDERR "<>\n$stderr_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$stderr_string ); } if ($errorfile_string) { print STDERR "---------------------\n"; print STDERR "<<.ERR file>>\n$errorfile_string\n"; print STDERR "---------------------\n"; - print STDERR -"This error received calling Perl::Tidy with '$sname' + '$pname'\n"; ok( !$errorfile_string ); } } else { - is( $output, $expect, "$sname.$pname" ); + if ( !is( $output, $expect, $key ) ) { + my $leno = length($output); + my $lene = length($expect); + if ( $leno == $lene ) { + print STDERR +"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"; + } + else { + print STDERR +"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"; + } + } } } -- 2.39.5