Skip Menu |

This queue is for tickets about the CPANPLUS CPAN distribution.

Report information
The Basics
Id: 32064
Status: resolved
Priority: 0/
Queue: CPANPLUS

People
Owner: Nobody in particular
Requestors: BINGOS [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.84
Fixed in: (no value)



Subject: NA reports generated for failing tests where core prereqs are specified
I've noticed this behaviour in CPANPLUS, where if a module author specifies a core module, such as Config in their prereqs list and the subsequent testsuite fails an NA report is generated instead of a FAIL. This output is from MSWin32, but the problem manifests itself on all platforms: ------------------------------- Running [C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\bin\cpanp-run-perl.b at C:\strawberry\.cpanplus\5.10.0\build\threads-shared-1.15\Makefile.PL ]... Checking if your kit is complete... Looks good Writing Makefile for threads::shared [ERROR] No such module 'Config' found on CPAN Running [C:\strawberry\c\bin\dmake.EXE UNINST=1]... cp shared.pm blib\lib\threads/shared.pm C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp -typemap C:\strawberry\perl\lib\ExtUtils\typemap shared.xs > shared.xsc && C:\strawberr y\perl\bin\perl.exe -MExtUtils::Command -e mv shared.xsc shared.c gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_ IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERSION=\"1. 15\" -DXS_VERSION=\"1.15\" "-IC:\strawberry\perl\lib\CORE" -DHAS_PPPORT_H s hared.c Running Mkbootstrap for threads::shared () C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod 644 shared.bs C:\strawberry\perl\bin\perl.exe -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"threads::shared\", 'DLBASE' => 'shared', 'DL_FUNCS ' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def shared.def --output-exp dll.exp g++ -o blib\arch\auto\threads\shared\shared.dll -Wl,--base-file -Wl,dll.base -md ll -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" shared.o -Wl,--ima ge-base,0x160c0000 C:\strawberry\perl\lib\CORE\libperl510.a -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp3 2 dll.exp dlltool --def shared.def --base-file dll.base --output-exp dll.exp g++ -o blib\arch\auto\threads\shared\shared.dll -mdll -s -L"C:\strawberry\perl\l ib\CORE" -L"C:\strawberry\c\lib" shared.o -Wl,--image-base,0x160c0000 C:\strawb erry\perl\lib\CORE\libperl510.a -lmsvcrt -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 dll.exp C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod 755 blib\arch\auto\ threads\shared\shared.dll C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e cp shared.bs blib\arch\au to\threads\shared\shared.bs C:\strawberry\perl\bin\perl.exe -MExtUtils::Command -e chmod 644 blib\arch\auto\ threads\shared\shared.bs Running [C:\strawberry\c\bin\dmake.EXE test UNINST=1]... C:\strawberry\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/0nothread........1/53 # Testing threads::shared 1.15 t/0nothread........ok t/av_refs..........ok t/av_simple........ok t/blessed..........ok t/cond.............ok t/disabled.........ok t/hv_refs..........ok t/hv_simple........ok t/no_share.........ok t/object...........ok t/pod..............ok t/shared_attr......ok t/stress...........ok t/sv_refs..........ok t/sv_simple........ok t/wait.............ok t/waithires........46/57 # Timeout: specified=0.3 actual=7.10487365722656e-005 secs. t/waithires........ Failed 2/57 subtests Test Summary Report ------------------- t/stress.t (Wstat: 0 Tests: 1 Failed: 0) TODO passed: 1 t/waithires.t (Wstat: 0 Tests: 57 Failed: 2) Failed tests: 45, 47 Files=17, Tests=551, 46 wallclock secs ( 0.44 usr + 0.16 sys = 0.59 CPU) Result: FAIL Failed 1/17 test programs. 2/551 subtests failed. dmake.EXE: Error code 255, while making 'test_dynamic' [ERROR] MAKE TEST failed: Bad file descriptor The tests for 'threads::shared' failed. Would you like me to proceed anyway or should we abort? Proceed anyway? [y/N]: [MSG] Prerequisite 'Config' for 'threads::shared' could not be obtained from CPAN -- sending N/A grade [MSG] Sending test report for 'threads-shared-1.15' [MSG] Successfully sent 'na' report for 'threads-shared-1.15' --------------------------------------------- Many thanks.
We now check against Module::CoreList to see if a module is supplied by perl core. If a 'missing' prereq is indeed supplied by perl core, it will no longer trigger the 'N/A'. Unfortunately, due to a bug in module::corelist, this can fail when the prereq is 'Config.pm'. See the following bug report for details: http://rt.cpan.org/Ticket/Display.html?id=32155 Thanks for reporting.