Enhance the failure reporting for the pod2html tests
Rafael Garcia-Suarez [Tue, 20 May 2003 19:22:30 +0000 (19:22 +0000)]
p4raw-id: //depot/perl@19575

lib/Pod/t/htmlview.t
lib/Pod/t/pod2html-lib.pl

index 9d82a87..739d300 100644 (file)
@@ -7,13 +7,11 @@ BEGIN {
    require "pod2html-lib.pl";
 }
 
-
 use strict;
 use Test::More tests => 1;
 
 convert_n_test("htmlview", "html rendering");
 
-
 __DATA__
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
index 3f1b267..f61392b 100644 (file)
@@ -21,22 +21,40 @@ sub convert_n_test {
     );
 
 
-    local $/;
-    # expected
-    my $expect = <DATA>;
-    $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 = <DATA>;
+       $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~~";
 }