On Tue, 14 Mar 2023 at 22:41, Chris 'BinGOs' Williams <ch...@bingosnet.co.uk> wrote:
> V7.68 of ExtUtils-MakeMaker has churned to CPAN > I tried to do a Porting/sync-with-cpan today, and I see test failures. I have recently made various changes to sync-with-cpan with the ultimate objective of totally automating the sync process, so i have been trying it on every update I become aware of, and unfortunately the 7.68 version does not pass test as I would expect. I suspect this is PEBKAC at some level, but I am not sure. make test_harness TEST_ARGS="-re ExtUtils-MakeMaker" ... [trivial make out elided ] ... cd t && (rm -f perl; /usr/bin/ln -s ../perl perl) TESTFILE=harness ./runtests choose ../cpan/ExtUtils-MakeMaker/t/00compile.t ............. skipped: No MANIFEST ../cpan/ExtUtils-MakeMaker/t/01perl_bugs.t ........... ok ../cpan/ExtUtils-MakeMaker/t/02-xsdynamic.t .......... ok ../cpan/ExtUtils-MakeMaker/t/03-xsstatic.t ........... ok ../cpan/ExtUtils-MakeMaker/t/04-xs-rpath-darwin.t .... skipped: Not darwin platform ../cpan/ExtUtils-MakeMaker/t/arch_check.t ............ ok ../cpan/ExtUtils-MakeMaker/t/backwards.t ............. ok ../cpan/ExtUtils-MakeMaker/t/basic.t ................. ok ../cpan/ExtUtils-MakeMaker/t/build_man.t ............. ok ../cpan/ExtUtils-MakeMaker/t/cd.t .................... ok ../cpan/ExtUtils-MakeMaker/t/config.t ................ ok ../cpan/ExtUtils-MakeMaker/t/cp.t .................... ok ../cpan/ExtUtils-MakeMaker/t/dir_target.t ............ ok ../cpan/ExtUtils-MakeMaker/t/echo.t .................. ok ../cpan/ExtUtils-MakeMaker/t/eu_command.t ............ ok ../cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t ........ ok ../cpan/ExtUtils-MakeMaker/t/fix_libs.t .............. ok ../cpan/ExtUtils-MakeMaker/t/fixin.t ................. ok ../cpan/ExtUtils-MakeMaker/t/hints.t ................. ok ../cpan/ExtUtils-MakeMaker/t/INST.t .................. ok ../cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t ........... ok ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t .......... 5/37 # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy-install/lib/perl5/Big/Dummy.pm installed' # at t/INSTALL_BASE.t line 80. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy-install/lib/perl5/Big/Dummy.pm readable' # at t/INSTALL_BASE.t line 81. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy-install/lib/perl5/Big/Liar.pm installed' # at t/INSTALL_BASE.t line 80. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy-install/lib/perl5/Big/Liar.pm readable' # at t/INSTALL_BASE.t line 81. ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t .......... 21/37 # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy install/lib/perl5/Big/Dummy.pm installed' # at t/INSTALL_BASE.t line 80. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy install/lib/perl5/Big/Dummy.pm readable' # at t/INSTALL_BASE.t line 81. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy install/lib/perl5/Big/Liar.pm installed' # at t/INSTALL_BASE.t line 80. # Failed test ' /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/iH7p9oAqnN/temp-2661220-FLNYEG3J/space dir/Big-Dummy/../dummy install/lib/perl5/Big/Liar.pm readable' # at t/INSTALL_BASE.t line 81. # Looks like you failed 8 tests of 37. ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t .......... Dubious, test returned 8 (wstat 2048, 0x800) Failed 8/37 subtests ../cpan/ExtUtils-MakeMaker/t/installed_file.t ........ ok ../cpan/ExtUtils-MakeMaker/t/is_of_type.t ............ ok ../cpan/ExtUtils-MakeMaker/t/Liblist.t ............... ok ../cpan/ExtUtils-MakeMaker/t/make.t .................. ok ../cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t .. ok ../cpan/ExtUtils-MakeMaker/t/maketext_filter.t ....... ok ../cpan/ExtUtils-MakeMaker/t/meta_convert.t .......... ok ../cpan/ExtUtils-MakeMaker/t/metafile_data.t ......... ok ../cpan/ExtUtils-MakeMaker/t/metafile_file.t ......... ok ../cpan/ExtUtils-MakeMaker/t/min_perl_version.t ...... 1/37 # Failed test 'META.yml validates' # at t/min_perl_version.t line 256. Can't call method "prereqs" on an undefined value at t/min_perl_version.t line 261. # Looks like your test exited with 2 just after 34. ../cpan/ExtUtils-MakeMaker/t/min_perl_version.t ...... Dubious, test returned 2 (wstat 512, 0x200) Failed 4/37 subtests ../cpan/ExtUtils-MakeMaker/t/miniperl.t .............. ok ../cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t ........... ok ../cpan/ExtUtils-MakeMaker/t/MM_Any.t ................ ok ../cpan/ExtUtils-MakeMaker/t/MM_BeOS.t ............... skipped: This is not BeOS ../cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t ............. skipped: This is not cygwin ../cpan/ExtUtils-MakeMaker/t/MM_NW5.t ................ skipped: This is not NW5 ../cpan/ExtUtils-MakeMaker/t/MM_OS2.t ................ skipped: This is not OS/2 ../cpan/ExtUtils-MakeMaker/t/MM_Unix.t ............... ok ../cpan/ExtUtils-MakeMaker/t/MM_VMS.t ................ skipped: This is not VMS ../cpan/ExtUtils-MakeMaker/t/MM_Win32.t .............. skipped: This is not Win32 ../cpan/ExtUtils-MakeMaker/t/oneliner.t .............. ok ../cpan/ExtUtils-MakeMaker/t/os_unsupported.t ........ ok ../cpan/ExtUtils-MakeMaker/t/parse_abstract.t ........ ok ../cpan/ExtUtils-MakeMaker/t/parse_version.t ......... ok ../cpan/ExtUtils-MakeMaker/t/PL_FILES.t .............. 1/12 # Failed test 'blib/lib/PL/Bar.pm was created' # at t/PL_FILES.t line 91. # Failed test 'blib/lib/PL/Bar2.pm was created' # at t/PL_FILES.t line 91. # Looks like you failed 2 tests of 12. ../cpan/ExtUtils-MakeMaker/t/PL_FILES.t .............. Dubious, test returned 2 (wstat 512, 0x200) Failed 2/12 subtests ../cpan/ExtUtils-MakeMaker/t/pm.t .................... ok ../cpan/ExtUtils-MakeMaker/t/pm_to_blib.t ............ 4/? # Failed test 'blib copied pm file' # at t/pm_to_blib.t line 53. ../cpan/ExtUtils-MakeMaker/t/pm_to_blib.t ............ 6/? Can't open blib/lib/Big/Dummy.pm for reading: No such file or directory at t/lib/MakeMaker/Test/Utils.pm line 391. # Looks like your test exited with 2 just after 9. ../cpan/ExtUtils-MakeMaker/t/pm_to_blib.t ............ Dubious, test returned 2 (wstat 512, 0x200) Failed 1/9 subtests ../cpan/ExtUtils-MakeMaker/t/pod2man.t ............... ok ../cpan/ExtUtils-MakeMaker/t/postamble.t ............. ok ../cpan/ExtUtils-MakeMaker/t/prefixify.t ............. ok ../cpan/ExtUtils-MakeMaker/t/prereq.t ................ 1/21 # Failed test 'basic prereq' # at t/prereq.t line 59. ../cpan/ExtUtils-MakeMaker/t/prereq.t ................ 4/21 # got: 'Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: '' # Failed test 'version range' # at t/prereq.t line 71. # got: 'Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: '' # Failed test 'strict 99999' # at t/prereq.t line 81. # got: 'Warning: prerequisite strict 99999 not found. We have 1.12. # Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: 'Warning: prerequisite strict 99999 not found. We have 1.12. # ' # Failed test 'non-exist prereq' # at t/prereq.t line 92. # got: 'Warning: prerequisite I::Do::Not::Exist 0 not found. # Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: 'Warning: prerequisite I::Do::Not::Exist 0 not found. # ' # Failed test 'non-exist prereq' # at t/prereq.t line 102. # got: 'Warning: prerequisite I::Do::Not::Configure 0 not found. # Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: 'Warning: prerequisite I::Do::Not::Configure 0 not found. # ' # Failed test 'non-exist prereq' # at t/prereq.t line 112. # got: 'Warning: prerequisite I::Do::Not::Test 0 not found. # Warning: PERL_LIB (/usr/local/lib/perl5/5.37.10) seems not to be a perl library directory # (strict.pm not found) at /home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/../../lib/ExtUtils/MM_Unix.pm line 1966. # ' # expected: 'Warning: prerequisite I::Do::Not::Test 0 not found. # ' # Failed test '2 warnings' # at t/prereq.t line 124. # got: '4' # expected: '2' # Failed test '2 bad prereq warnings' # at t/prereq.t line 142. # Looks like you failed 8 tests of 21. ../cpan/ExtUtils-MakeMaker/t/prereq.t ................ Dubious, test returned 8 (wstat 2048, 0x800) Failed 8/21 subtests ../cpan/ExtUtils-MakeMaker/t/prereq_print.t .......... ok ../cpan/ExtUtils-MakeMaker/t/problems.t .............. ok ../cpan/ExtUtils-MakeMaker/t/prompt.t ................ ok ../cpan/ExtUtils-MakeMaker/t/recurs.t ................ ok ../cpan/ExtUtils-MakeMaker/t/revision.t .............. ok ../cpan/ExtUtils-MakeMaker/t/several_authors.t ....... 1/19 # Failed test 'Make metafile exiting normally' # at t/several_authors.t line 155. # got: 512 # expected: 0 # make[1]: Entering directory '/home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/asb9EGjjkC/Multiple-Authors' # make[1]: *** No rule to make target 'metafile'. Stop. # make[1]: Leaving directory '/home/yorton/git_tree/perl/cpan/ExtUtils-MakeMaker/t/asb9EGjjkC/Multiple-Authors' # Failed test 'META.yml validates' # at t/several_authors.t line 163. Can't call method "authors" on an undefined value at t/several_authors.t line 168. # Looks like your test exited with 2 just after 16. ../cpan/ExtUtils-MakeMaker/t/several_authors.t ....... Dubious, test returned 2 (wstat 512, 0x200) Failed 5/19 subtests ../cpan/ExtUtils-MakeMaker/t/split_command.t ......... ok ../cpan/ExtUtils-MakeMaker/t/test_boilerplate.t ...... ok ../cpan/ExtUtils-MakeMaker/t/testlib.t ............... ok ../cpan/ExtUtils-MakeMaker/t/unicode.t ............... ok ../cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t .......... ok ../cpan/ExtUtils-MakeMaker/t/vstrings.t .............. ok ../cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t .... ok ../cpan/ExtUtils-MakeMaker/t/writemakefile_args.t .... ok Test Summary Report ------------------- ../cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t (Wstat: 2048 (exited 8) Tests: 37 Failed: 8) Failed tests: 8-11, 24-27 Non-zero exit status: 8 ../cpan/ExtUtils-MakeMaker/t/min_perl_version.t (Wstat: 512 (exited 2) Tests: 34 Failed: 1) Failed test: 32 Non-zero exit status: 2 Parse errors: Bad plan. You planned 37 tests but ran 34. ../cpan/ExtUtils-MakeMaker/t/PL_FILES.t (Wstat: 512 (exited 2) Tests: 12 Failed: 2) Failed tests: 9-10 Non-zero exit status: 2 ../cpan/ExtUtils-MakeMaker/t/pm_to_blib.t (Wstat: 512 (exited 2) Tests: 9 Failed: 1) Failed test: 5 Non-zero exit status: 2 ../cpan/ExtUtils-MakeMaker/t/prereq.t (Wstat: 2048 (exited 8) Tests: 21 Failed: 8) Failed tests: 4-10, 13 Non-zero exit status: 8 ../cpan/ExtUtils-MakeMaker/t/several_authors.t (Wstat: 512 (exited 2) Tests: 16 Failed: 2) Failed tests: 13-14 Non-zero exit status: 2 Parse errors: Bad plan. You planned 19 tests but ran 16. Files=67, Tests=1343, 71 wallclock secs ( 0.62 usr 0.08 sys + 59.74 cusr 6.51 csys = 66.95 CPU) Result: FAIL Finished test run at Wed Mar 15 12:57:07 2023. make: *** [makefile:865: test_harness] Error 22 Also when I look after the tests have run I can see from 'git status' that these files are left behind: Untracked files: (use "git add <file>..." to include in what will be committed) lib/Big/ lib/PL/ When I look at the Porting/Maintainers.pl for excluded files I see: 'EXCLUDED' => [ qr{^t/lib/Test/}, qr{^(bundled|my)/}, qr{^t/Liblist_Kid.t}, qr{^t/liblist/}, qr{^\.perlcriticrc}, 'PATCHING', 'README.packaging', 'lib/ExtUtils/MakeMaker/version/vpp.pm', ], I suspect the excluded list is wrong, and more needs to be excluded. Do you have any suggestions on how to proceed? FWIW, I would really love it if you would tell me how to make this work, instead of making it work yourself (which I am sure you could do), so that I can think about how to automate this more, maybe working together with you. Eg, could we add some metadata to the ExtUtils-MakerMaker distribution that Porting/sync-with-cpan could use to automate whatever is required? Yves -- perl -Mre=debug -e "/just|another|perl|hacker/"