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