I'm really need some guidance in setting up a cpan tester framework within my strawberry distributions. Even if I finally ended with something usable I have a lots of doubts and things does not run smoothly as they used to be with my strawberry perl instances.
I've followed the manual at cpanwiki - quickstart (following numbered steps refer to the guide)
Three different options are given: cpan classic tool, cpanp and cpanm and I choosed the first because it's the basic tool that must run and because of some other reasons.
I use normally strawberry portable editions, so I downloaded a fresh copy of strawberry-perl-5.28.1.1-64bit-portable and extracted to c:\SCRIPTS and to play as nice as possible I cleaned PATH a bit: PATH=C:\SCRIPTS\perl5.28-64bit\perl\site\bin;C:\SCRIPTS\perl5.28-64bit\perl\bin;C:\SCRIPTS\perl5.28-64bit\c\bin;C:\Windows\system32;C:\Windows
Ok, let's follow the above mentioned guide:
step 1
cpan> install Task::CPAN::Reporter # a lot of output, but relevant parts are: Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Config\Tiny.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Devel\Autoflush.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Test\Reporter.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Test\Reporter\Trans +port.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Test\Reporter\Trans +port\File.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Test\Reporter\Trans +port\Null.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter\API.p +m Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter\Confi +g.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter\FAQ.p +m Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter\Histo +ry.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Reporter\Prere +qCheck.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Data\UUID.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Data\GUID.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\IO\Prompt\Tiny.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Fact.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Report.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource.p +m Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Fact\Hash. +pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Fact\Strin +g.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\c +pan.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\m +etabase.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\p +erl.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\c +pan\distfile.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\m +etabase\fact.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\m +etabase\user.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Resource\p +erl\commit.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\User\Email +Address.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\User\FullN +ame.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\User\Profi +le.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\User\Secre +t.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Report +.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\I +nstalledModules.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\L +egacyReport.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\P +erlConfig.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\P +rereqs.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\T +estEnvironment.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\T +esterComment.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\T +estOutput.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\CPAN\Testers\Fact\T +estSummary.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Metabase\Client\Sim +ple.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Test\Reporter\Trans +port\Metabase.pm Installing C:\SCRIPTS\perl5.28-64bit\perl\site\lib\Task\CPAN\Reporter. +pm Appending installation info to C:\SCRIPTS\perl5.28-64bit\perl\lib/perl +local.pod DAGOLDEN/Task-CPAN-Reporter-0.003.tar.gz C:\SCRIPTS\perl5.28-64bit\c\bin\gmake.exe install UNINST=1 -- OK
step 2
C:\SCRIPTS\perl5.28-64bit>metabase-profile Enter full name: lorenzo Enter email address: lorenzo@cpan.org Enter password/secret: ********* Writing profile to 'metabase_id.json'
step 3
C:\SCRIPTS\perl5.28-64bit> mkdir %HOMEDRIVE%%HOMEPATH%\.cpantesters C:\SCRIPTS\perl5.28-64bit> copy metabase_id.json %HOMEDRIVE%%HOMEPATH% +\.cpantesters 1 file copied.
step 4 (Note: the only non default answer i gave was the first: I want to send reports! I searched the FAQ about it but found nothing. Also note that I specified the mail address in a wrong way and caused the Name not appearing: a bit more check will be good though.. or two fields: display name and mail address )
cpan> o conf init test_report ... <test_report> Generate test reports if CPAN::Reporter is installed (yes/no)? [no] ye +s Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 1. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 1. Would you like me configure CPAN::Reporter now? [yes] Proceeding to configure CPAN::Reporter. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 2. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 2. ... CPAN::Reporter: no config file found; creating a new one. CPAN::Reporter requires a valid email address to identify senders in the body of a test report. Please use a standard email format like: "John Doe" <jdoe@example.com> email_from? [] lorenzo@cpan.org ... (Recommended: 'default:ask/no pass/na:no') edit_report? [default:ask/no pass/na:no] ... (Recommended: 'default:ask/yes pass/na:yes') send_report? [default:ask/yes pass/na:yes] ... (Recommended: 'Metabase uri https://metabase.cpantesters.org/api/v1/ i +d_file metabase_id.json') transport? [Metabase uri https://metabase.cpantesters.org/api/v1/ id_f +ile metabase_id.json] Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 6. Would you like to run 'metabase-profile' now to create 'C:\SCRIPTS\per +l5.28-64bit\data\.cpanreporter\metabase_id.json'? [y] Running [C:\SCRIPTS\PERL5~1.28-\perl\site\bin\metabase-profile.BAT --o +utput C:\SCRIPTS\perl5.28-64bit\data\.cpanreporter \metabase_id.json --email lorenzo@cpan.org --secret ********]... Enter full name: Writing profile to 'C:\SCRIPTS\perl5.28-64bit\data\.cpanreporter\metab +ase_id.json' CPAN::Reporter: writing config file to 'C:\SCRIPTS\perl5.28-64bit\data +\.cpanreporter\config.ini'. Returning to CPAN configuration. commit: wrote 'C:\SCRIPTS\perl5.28-64bit\perl\lib/CPAN/Config.pm' cpan> cpan> cpan> cpan> o conf commit commit: wrote 'C:\SCRIPTS\perl5.28-64bit\perl\lib/CPAN/Config.pm' cpan>
doubt 1
What happened? Was the metabase_id.json created another time? Which one will be used? That I created in step 2 and copied in step 3 or that created in step 4 at C:\SCRIPTS\perl5.28-64bit\data\.cpanreporter\metabase_id.json ??
doubt 2
where all these errors comes from (see the above output)?
Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157, <STDIN> line 1.
step 5 Let's try!
cpan> test Win32::File Database was generated on Mon, 11 Feb 2019 20:25:05 GMT Running test for module 'Win32::File' Fetching with LWP: http://cpan.strawberryperl.com/authors/id/J/JD/JDB/Win32-File-0.07.tar +.gz Fetching with LWP: http://cpan.strawberryperl.com/authors/id/J/JD/JDB/CHECKSUMS Checksum for C:\SCRIPTS\perl5.28-64bit\cpan\sources\authors\id\J\JD\JD +B\Win32-File-0.07.tar.gz ok Scanning cache C:\SCRIPTS\perl5.28-64bit\cpan\build for sizes ...................................................................... +......DONE Configuring J/JD/JDB/Win32-File-0.07.tar.gz with Makefile.PL Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Checking if your kit is complete... Looks good Generating a gmake-style Makefile Writing Makefile for Win32::File Writing MYMETA.yml and MYMETA.json (C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe Makefile.PL exited with 0 +) CPAN::Reporter: Makefile.PL result is 'pass', No errors. JDB/Win32-File-0.07.tar.gz C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe Makefile.PL -- OK Running make for J/JD/JDB/Win32-File-0.07.tar.gz Subroutine JSON::PP::Boolean::(++ redefined at C:\SCRIPTS\perl5.28-64b +it\perl\lib/overload.pm line 48. Subroutine JSON::PP::Boolean::(0+ redefined at C:\SCRIPTS\perl5.28-64b +it\perl\lib/overload.pm line 48. Subroutine JSON::PP::Boolean::(-- redefined at C:\SCRIPTS\perl5.28-64b +it\perl\lib/overload.pm line 48. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. cp File.pm blib\lib\Win32\File.pm Running Mkbootstrap for File () "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Command -e c +hmod -- 644 "File.bs" "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Command::MM +-e cp_nonempty -- File.bs blib\arch\auto\Win32\Fil e\File.bs 644 "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" "C:\SCRIPTS\perl5.28-64b +it\perl\lib\ExtUtils/xsubpp" -typemap C:\SCRIPTS\ perl5.28-64bit\perl\lib\ExtUtils\typemap -typemap C:\SCRIPTS\perl5.28- +64bit\cpan\build\Win32-File-0.07-0\typemap File.x s > File.xsc "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Command -e m +v -- File.xsc File.c gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -D__USE_MINGW_ANSI_STDI +O -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bit +fields -s -O2 -DVERSION=\"0.07\" -DXS_VERSION=\" 0.07\" "-IC:\SCRIPTS\perl5.28-64bit\perl\lib\CORE" File.c "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Win32::File\", 'DLBASE' => 'File', 'DL_F +UNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { } , 'DL_VARS' => []);" g++.exe File.def -o blib\arch\auto\Win32\File\File.xs.dll -mdll -s -L" +C:\SCRIPTS\perl5.28-64bit\perl\lib\CORE" -L"C:\SCR IPTS\perl5.28-64bit\c\lib" File.o "C:\SCRIPTS\perl5.28-64bit\perl\li +b\CORE\libperl528.a" -lmoldname -lkernel32 -luser3 2 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut3 +2 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversi on -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-auto-image-base "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Command -e c +hmod -- 755 blib\arch\auto\Win32\File\File.xs.dll (C:\SCRIPTS\perl5.28-64bit\c\bin\gmake.exe exited with 0) CPAN::Reporter: gmake result is 'pass', No errors. JDB/Win32-File-0.07.tar.gz C:\SCRIPTS\perl5.28-64bit\c\bin\gmake.exe -- OK Running make test Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" -MExtUtils::Command::MM +-e cp_nonempty -- File.bs blib\arch\auto\Win32\Fil e\File.bs 644 "C:\SCRIPTS\perl5.28-64bit\perl\bin\perl.exe" "-MExtUtils::Command::MM +" "-MTest::Harness" "-e" "undef *Test::Harness::Sw itches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t t/file.t .. ok All tests successful. Files=1, Tests=5, 1 wallclock secs ( 0.06 usr + 0.00 sys = 0.06 CPU +) Result: PASS (C:\SCRIPTS\perl5.28-64bit\c\bin\gmake.exe test exited with 0) CPAN::Reporter: Test result is 'pass', All tests successful. CPAN::Reporter: preparing a CPAN Testers report for Win32-File-0.07 Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. CPAN::Reporter: sending test report with 'pass' via Metabase Use of uninitialized value $_[0] in string eq at C:/SCRIPTS/perl5.28-6 +4bit/perl/lib/File/Spec/Win32.pm line 157. JDB/Win32-File-0.07.tar.gz C:\SCRIPTS\perl5.28-64bit\c\bin\gmake.exe test -- OK cpan>
doubt 3
I defeinitively messed my cpan? ;(
doubt 4
I go to http://metabase.cpantesters.org/tail/log.txt to see which profile was used (steps 2,3 or step 4 one?) and I see:
[2019-02-11T21:02:29Z] [] [pass] [JDB/Win32-File-0.07.tar.gz] [MSWin32 +-x64-multi-thread] [perl-v5.28.1] [1b296cef-6c08-1014-b6df-cd4687d894 +94] [2019-02-11T21:02:29Z]
No lorenzo name in square brackets is shown.. so I presume that in step 4 was used: infact the other has the name present but there is not in that created in step 4
After some hours I found two entries in the matrix:
They both are mine.. they both have no name displayed..
Tests are useful, no? If so I'd expect the testing reporting framework setup to be reliable on all platforms or I'm wrong?
Generally spekking: which is the mechanism involved? what is the role of the metabase_id.json file? And what about the other file generated in step 4 (now I'm sure there are used these: I see the reports-sent.db populated)?
Directory di C:\SCRIPTS\perl5.28-64bit\data\.cpanreporter 11/02/2019 21:57 199 config.ini 11/02/2019 21:57 1.871 metabase_id.json 11/02/2019 22:02 119 reports-sent.db
Can I modify them (for example to include my name)? How? I must copy them if I want to use the same infos for other perl instance?
I'd really wanna help but who can help me?
L*
In reply to problem setting up CPAN Tester reporter on strawberry perl -- CPAN::Reporter by Discipulus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |