Subject: | An escaping miss? |
Hi, Ricardo,
The following target is generated in Makefile of a distribution using
Module::Install::ExtraTests.
test_dynamic :: pure_all
$(FULLPERLRUN) "-Iinc" "-MModule::Install::ExtraTests" "-e"
"Module::Install::ExtraTests::__harness('Test::Harness', (exists \$$ENV{AUTHOR_TESTING} ?
\$$ENV{AUTHOR_TESTING} : 0), 'xt/author', '', '', $(TEST_VERBOSE), '$(INST_LIB)',
'$(INST_ARCHLIB)')" $(TEST_FILES)
This, in fact, results in failure under MS Windows as follows:
C:\temp\Class-C3-Adopt-NEXT-0.04>nmake test
Microsoft(R) Program Maintenance Utility Version 7.00.9955
Copyright (C) Microsoft Corporation. All rights reserved.
C:\Perl\bin\perl.exe "-Iinc" "-MModule::Install::ExtraTests" "-e" "Modul
e::Install::ExtraTests::__harness('Test::Harness', (exists \$ENV{AUTHOR_TESTING}
? \$ENV{AUTHOR_TESTING} : 0), 'xt/author', '', '', 0, 'blib\lib', 'blib\arch')"
t/*.t
exists argument is not a HASH or ARRAY element at -e line 1.
NMAKE : fatal error U1077: 'C:\Perl\bin\perl.exe' : '0x9'
Stop.
May I ask you a favour? Could you tweak Module::Install::ExtraTests as follows?
--- ExtraTests.pm.orig Thu Dec 11 01:50:08 2008
+++ ExtraTests.pm Thu Dec 11 01:54:02 2008
@@ -34,7 +34,7 @@
my $is_author = $Module::Install::AUTHOR ? 1 : 0;
return qq{\t$perl "-Iinc" "-MModule::Install::ExtraTests" }
- . qq["-e" "Module::Install::ExtraTests::__harness('Test::Harness', (exists
\\\$\$ENV{AUTHOR_TESTING} ? \\\$\$ENV{AUTHOR_TESTING} : $is_author), '$a_str', '$r_str',
'$s_str', \$(TEST_VERBOSE), '\$(INST_LIB)', '\$(INST_ARCHLIB)')" $tests\n];
+ . qq["-e" "Module::Install::ExtraTests::__harness('Test::Harness', (exists
\$\$ENV{AUTHOR_TESTING} ? \$\$ENV{AUTHOR_TESTING} : $is_author), '$a_str', '$r_str',
'$s_str', \$(TEST_VERBOSE), '\$(INST_LIB)', '\$(INST_ARCHLIB)')" $tests\n];
}
sub dist_test {
Best regards,
Taro Nishino