Gabor Szabo wrote:
Hi,

both
t\41prof_dump.t
t\zvg_41prof_dump.t
fail on plain ActivePerl 5.8.4 on Windows

[...]
#     Failed test (t\41prof_dump.t at line 79)
not ok 14 - Program matches
#          got: 't\\41prof_dump.t'
#     expected: 't\41prof_dump.t'

Works fine for me (using bleadperl) when I just run "nmake test", but if I explicitly run "perl -Mblib t\41prof_dump.t" then it fails as above.

Running "perl -Mblib t/41prof_dump.t" is fine, though, which explains why "nmake test" works, given also that the Makefile has "TEST_FILES=t/*.t" rather than "TEST_FILES=t\*.t".

Attached patch fixes it, but it's arguably just hiding the real problem of having \\ where only \ was expected.

--
diff -ruN DBI-1.58.orig/t/41prof_dump.t DBI-1.58/t/41prof_dump.t
--- DBI-1.58.orig/t/41prof_dump.t       2007-06-15 22:49:16.000000000 +0100
+++ DBI-1.58/t/41prof_dump.t    2007-06-26 14:16:35.482433600 +0100
@@ -11,6 +11,7 @@
 
 use DBI;
 
+use File::Spec::Functions qw(canonpath);
 use Test::More;
 
 BEGIN {
@@ -76,7 +77,7 @@
 like( $prof[1], qr{^Path\s+=\s+\[\s+\]}, 'Found the Path');
 ok( $prof[2] =~ m{^Program\s+=\s+(\S+)}, 'Found the Program');
 
-is( $1, $0, 'Program matches' );
+is( canonpath($1), canonpath($0), 'Program matches' );
 
 # check that expected key is there
 like(join('', @prof), qr/\+\s+1\s+\Q$sql\E/m);

Reply via email to