Hello,
after some corrections/hacks (mentioned in my previous mail), I got to make
test.

* t/Install.t:
test 17 checs for a file with slashes, while packfile is written with
backslashes: which one is wrong?
AutoSplit.pm:autosplit leaves an open file in some cases; under Win32
unlinking an open file fails (you get warnings from "END {rmtree blib}",
and running the test twice in a row fails test 9 because blib wasn't
removed. (Note to self: submit patch to p5p).
Ugly workaround:
Index: t/Install.t
===================================================================
RCS file: /devel/perl5/REPOSITORY/extutils_makemaker/t/Install.t,v
retrieving revision 1.1.1.1
diff -u -2 -r1.1.1.1 Install.t
--- t/Install.t 21 Dec 2002 09:51:22 -0000      1.1.1.1
+++ t/Install.t 21 Dec 2002 12:50:04 -0000
@@ -28,4 +28,5 @@

 chdir 'Big-Dummy';
+rmtree 'blib';

 my $stdout = tie *STDOUT, 'TieOut';
@@ -62,3 +63,3 @@
                               'packlist written');

-END { rmtree 'blib' }
+# END { rmtree 'blib' }
==end of patch

* t/Liblist.t
Will fail unless the compiler that was used to compile perl is installed
(you will get ~20 warnings, for msvcrt.lib, kernel32.lib, etc instead of
just one).
Kid.pm needs this patch to pass test:
Index: lib/ExtUtils/Liblist/Kid.pm
===================================================================
RCS file: /devel/perl5/REPOSITORY/extutils_makemaker/lib/ExtUtils/Liblist/Kid.pm,v
retrieving revision 1.1.1.1
diff -u -2 -r1.1.1.1 Kid.pm
--- lib/ExtUtils/Liblist/Kid.pm 21 Dec 2002 09:51:22 -0000      1.1.1.1
+++ lib/ExtUtils/Liblist/Kid.pm 21 Dec 2002 12:43:34 -0000
@@ -341,5 +341,5 @@
        # give up
        warn "Note (probably harmless): "
-                    ."No library found for '$thislib'\n"
+                    ."No library found for $thislib\n"
            unless $found_lib>0;

==end of patch

* t/MM_Win32.t
Without this patch dereferences a string as an hash reference.
Index: t/MM_Win32.t
===================================================================
RCS file: /devel/perl5/REPOSITORY/extutils_makemaker/t/MM_Win32.t,v
retrieving revision 1.1.1.1
diff -u -2 -r1.1.1.1 MM_Win32.t
--- t/MM_Win32.t        21 Dec 2002 09:51:22 -0000      1.1.1.1
+++ t/MM_Win32.t        21 Dec 2002 09:55:58 -0000
@@ -133,8 +133,8 @@
     # XXX Hack until we have a proper init method.
     # Flesh out some necessary keys in the MM object.
-    foreach my $key (qw(XS C O_FILES H HTMLLIBPODS HTMLSCRIPTPODS
-                        MAN1PODS MAN3PODS PARENT_NAME)) {
-        $mm_w32->{$key} = '';
-    }
+    @{$mm_w32}{qw(XS MAN1PODS MAN3PODS)} = ({}) x 3;
+    @{$mm_w32}{qw(C O_FILES H)} = ([]) x 3;
+    @{$mm_w32}{qw(HTMLLIBPODS HTMLSCRIPTPODS PARENT_NAME)} = ('') x 3;
+
     my $s_PM = join( " \\\n\t", sort keys %{$mm_w32->{PM}} );
     my $k_PM = join( " \\\n\t", %{$mm_w32->{PM}} );
==end of patch
With this patch fails like this:
ok 24 - init_others: DEV_NULL
not ok 25 - constants()
#     Failed test (t\MM_Win32.t at line 142)
#                   'NAME = TestMM_Win32
# VERSION = 1.00
#
# MAKEMAKER   =
# MM_VERSION  =
# MM_REVISION =
#
# # FULLEXT = Pathname for extension directory (eg Foo/Bar/Oracle).
# # BASEEXT = Basename part of FULLEXT. May be just equal FULLEXT. (eg Oracle)
# # PARENT_NAME = NAME without BASEEXT and no trailing :: (eg Foo::Bar)
# # DLBASE  = Basename part of dynamic library. May be just equal BASEEXT.
# PARENT_NAME =
# VERSION_FROM = TestMM_Win32
#
# # Handy lists of source code files:
# XS_FILES =
# C_FILES  =
# O_FILES  =
# H_FILES  =
# MAN1PODS =
# MAN3PODS =
#
# # Where is the Config information that we are using/depend on
# CONFIGDEP = $(PERL_ARCHLIB)$(DIRFILESEP)Config.pm $(PERL_INC)$(DIRFILESEP)config.h
#
# # Where to build things
# INST_LIBDIR      =
# INST_ARCHLIBDIR  =
#
# INST_AUTODIR     =
# INST_ARCHAUTODIR =
#
# INST_STATIC      =
# INST_DYNAMIC     =
# INST_BOOT        =
#
# # Extra linker info
# EXPORT_LIST        =
# PERL_ARCHIVE       =
# PERL_ARCHIVE_AFTER =
#
#
# TO_INST_PM = MM_Win32.pm
#
# PM_TO_BLIB = MM_Win32.pm \
#       1
# '
#     doesn't match '(?sx-im:^NAME\ =\ TestMM_Win32\s+VERSION\ =\ 1\.00.+
#              MAKEMAKER\ =\ 
C\:\/Developement\/perl5\/extutils_makemaker\/blib\/lib\/ExtUtils\/MakeMaker\.pm\s+
#              MM_VERSION\ =\ 6\.06_01.+
#              VERSION_FROM\ =\ TestMM_Win32.+
#              TO_INST_PM\ =\ MM_Win32\.pm\s+
#              PM_TO_BLIB\ =\ MM_Win32\.pm\ \\\
# \     1
#           )'
ok 26 - path() [preset]
ok 27 - clean() Makefile target
Can't locate object method "perl_archive" via package "MM" (perhaps you forgot to load 
"MM"?) at t\MM_Win32.t line 178.
# Looks like you planned 39 tests but only ran 27.
# Looks like your test died just after 27.
==end
I have not investigated why (yet).

* t/split_command.t
Is producing commands of this form:
C:\Programmi\Devel\Perl\bin\Perl.exe -l -e "print @ARGV"\
          foo bar
which is good for makefiles, not for cmd.exe (does not understand \ at EOL
as line continuation).

Regards
Mattia


Reply via email to