Hello monks,
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..
others doubts
It's acceptable the above situation? I made some gross, coarse errors? It's the documentation erroneous?
It's some of the used modules bugged under windows and this is the cause of all that
File::Spec::Win32 errors?
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*
There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.