From: Rafael Garcia-Suarez Date: Tue, 20 May 2003 19:22:30 +0000 (+0000) Subject: Enhance the failure reporting for the pod2html tests X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=66f3f260095e79305afd2e6927af42eda76ba830;p=p5sagit%2Fp5-mst-13.2.git Enhance the failure reporting for the pod2html tests p4raw-id: //depot/perl@19575 --- diff --git a/lib/Pod/t/htmlview.t b/lib/Pod/t/htmlview.t index 9d82a87..739d300 100644 --- a/lib/Pod/t/htmlview.t +++ b/lib/Pod/t/htmlview.t @@ -7,13 +7,11 @@ BEGIN { require "pod2html-lib.pl"; } - use strict; use Test::More tests => 1; convert_n_test("htmlview", "html rendering"); - __DATA__ diff --git a/lib/Pod/t/pod2html-lib.pl b/lib/Pod/t/pod2html-lib.pl index 3f1b267..f61392b 100644 --- a/lib/Pod/t/pod2html-lib.pl +++ b/lib/Pod/t/pod2html-lib.pl @@ -21,22 +21,40 @@ sub convert_n_test { ); - local $/; - # expected - my $expect = ; - $expect =~ s/\[PERLADMIN\]/$Config::Config{perladmin}/; - if (ord("A") == 193) { # EBCDIC. - $expect =~ s/item_mat%3c%21%3e/item_mat%4c%5a%6e/; + my ($expect, $result); + { + local $/; + # expected + $expect = ; + $expect =~ s/\[PERLADMIN\]/$Config::Config{perladmin}/; + if (ord("A") == 193) { # EBCDIC. + $expect =~ s/item_mat%3c%21%3e/item_mat%4c%5a%6e/; + } + + # result + open my $in, $outfile or die "cannot open $outfile: $!"; + $result = <$in>; + close $in; } - # result - open my $in, $outfile or die "cannot open $outfile: $!"; - my $result = <$in>; - close $in; - 1 while unlink $outfile; + ok($expect eq $result, $testname) or do { + my $diff = '/bin/diff'; + -x $diff or $diff = '/usr/bin/diff'; + if (-x $diff) { + my $expectfile = "pod2html-lib.tmp"; + open my $tmpfile, ">", $expectfile or die $!; + print $tmpfile $expect; + close $tmpfile; + my $diffopt = $^O eq 'linux' ? 'u' : 'c'; + open my $diff, "diff -$diffopt $expectfile $outfile |" or die $!; + print "# $_" while <$diff>; + close $diff; + unlink $expectfile; + } + }; - is($expect, $result, $testname); # pod2html creates these + 1 while unlink $outfile; 1 while unlink "pod2htmd.x~~"; 1 while unlink "pod2htmi.x~~"; }