PATH=C:\mingw\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\mingw\bin;C:\cpanfly-5.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;C:\instantclient_11_2;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\Git\cmd;C:\Program Files\CMake\bin Start 2016-01-21T14:56:27 ActivePerl-2003 CPAN-2.00 PATH=C:/CPANFL~1.20/var/libs/bin;C:\mingw\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\mingw\bin;C:\CPANFL~1.20\var\megalib\bin;C:\Perl-5.20\site\bin;C:\Perl-5.20\bin;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\PROGRA~1\Git\cmd;C:\PROGRA~1\CMake\bin;C:\INSTAN~1;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\PROGRA~1\Git\cmd;C:\PROGRA~1\CMake\bin Reading 'C:\cpanfly-5.20\var\cpan\Metadata' Database was generated on Thu, 21 Jan 2016 06:53:56 GMT Running make for Z/ZW/ZWON/RedisDB-Parser-2.22.tar.gz Checksum for C:\cpanfly-5.20\var\cpan\sources\authors\id\Z\ZW\ZWON\RedisDB-Parser-2.22.tar.gz ok RedisDB-Parser-2.22/ RedisDB-Parser-2.22/Parser.xs RedisDB-Parser-2.22/META.yml RedisDB-Parser-2.22/lib/ RedisDB-Parser-2.22/lib/RedisDB/ RedisDB-Parser-2.22/lib/RedisDB/Parser.pm RedisDB-Parser-2.22/lib/RedisDB/Parser/ RedisDB-Parser-2.22/lib/RedisDB/Parser/PP.pm RedisDB-Parser-2.22/lib/RedisDB/Parser/XS.pm RedisDB-Parser-2.22/lib/RedisDB/Parser/Error.pm RedisDB-Parser-2.22/Makefile.PL RedisDB-Parser-2.22/Changes RedisDB-Parser-2.22/util/ RedisDB-Parser-2.22/util/parser_benchmark.pl RedisDB-Parser-2.22/MANIFEST RedisDB-Parser-2.22/README.pod RedisDB-Parser-2.22/typemap RedisDB-Parser-2.22/ppport.h RedisDB-Parser-2.22/rdb_parser.h RedisDB-Parser-2.22/xt/ RedisDB-Parser-2.22/xt/pod.t RedisDB-Parser-2.22/xt/pod-spell.t RedisDB-Parser-2.22/xt/manifest.t RedisDB-Parser-2.22/rdb_parser.c RedisDB-Parser-2.22/README RedisDB-Parser-2.22/META.json RedisDB-Parser-2.22/t/ RedisDB-Parser-2.22/t/parser.t RedisDB-Parser-2.22/t/no-leak.t RedisDB-Parser-2.22/t/00-load.t RedisDB-Parser-2.22/t/utf8.t CPAN.pm: Building Z/ZW/ZWON/RedisDB-Parser-2.22.tar.gz >>> C:\Perl-5.20\bin\perl.exe Makefile.PL ***************************************** * Building XS version of the parser. * * If build failed, you can try to * * build PP version by running * * * * perl Makefile.PL PUREPERL_ONLY = 1 * * make * ***************************************** Checking if your kit is complete... Looks good Have \cpanfl~1.20\var\megalib Want \perl-5.20\lib Your perl and your Config.pm seem to have different ideas about the architecture they are running on. Perl thinks: [megalib] Config says: [MSWin32-x86-multi-thread-64int] This may or may not cause problems. Please check your installation of perl if you have problems building this extension. Generating a dmake-style Makefile Writing Makefile for RedisDB::Parser Writing MYMETA.yml and MYMETA.json >>> dmake cp lib/RedisDB/Parser/Error.pm blib\lib\RedisDB\Parser\Error.pm cp lib/RedisDB/Parser/PP.pm blib\lib\RedisDB\Parser\PP.pm cp lib/RedisDB/Parser.pm blib\lib\RedisDB\Parser.pm cp README.pod blib\lib\RedisDB\README.pod cp lib/RedisDB/Parser/XS.pm blib\lib\RedisDB\Parser\XS.pm Running Mkbootstrap for RedisDB::Parser () "C:\Perl-5.20\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Parser.bs" gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" "-IC:\Perl-5.20\lib\CORE" rdb_parser.c "C:\Perl-5.20\bin\perl.exe" "C:\cpanfly-5.20\var\megalib\ExtUtils\xsubpp" -typemap "C:\Perl-5.20\lib\ExtUtils\typemap" -typemap "typemap" Parser.xs > Parser.xsc && "C:\Perl-5.20\bin\perl.exe" -MExtUtils::Command -e mv -- Parser.xsc Parser.c gcc -c -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" "-IC:\Perl-5.20\lib\CORE" Parser.c Parser.xs: In function 'XS_RedisDB__Parser__XS__new': Parser.xs:20:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Parser.xs: In function 'XS_RedisDB__Parser__XS_DESTROY': Parser.xs:28:28: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] "C:\Perl-5.20\bin\perl.exe" -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"RedisDB::Parser\", 'DLBASE' => 'Parser', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" dlltool --def Parser.def --output-exp dll.exp g++ -o blib\arch\auto\RedisDB\Parser\Parser.dll -mdll -s -static-libgcc -static-libstdc++ -L"C:\Perl-5.20\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib" rdb_parser.o Parser.o "C:\Perl-5.20\lib\CORE\libperl520.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp dlltool --def Parser.def --output-exp dll.exp g++ -o blib\arch\auto\RedisDB\Parser\Parser.dll -mdll -s -static-libgcc -static-libstdc++ -L"C:\Perl-5.20\lib\CORE" -L"C:\MinGW\i686-w64-mingw32\lib" rdb_parser.o Parser.o "C:\Perl-5.20\lib\CORE\libperl520.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp "C:\Perl-5.20\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\RedisDB\Parser\Parser.dll ZWON/RedisDB-Parser-2.22.tar.gz dmake -- OK Running make test >>> dmake test TEST_VERBOSE=1 "C:\Perl-5.20\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib\lib', 'blib\arch')" t/*.t # Testing RedisDB::Parser 2.22, Perl 5.020003, C:\Perl-5.20\bin\perl.exe t/00-load.t .. 1..1 ok 1 - use RedisDB::Parser; ok t/no-leak.t .. ok 1 - didn't leak on parsing a complex structure (leaks 0 <= 0) ok 2 - didn't leak after throwing exception (leaks 0 <= 0) ok 3 - didn't leak after callback thrown an exception (leaks 0 <= 0) ok 4 - didn't leak after propagating reply (leaks 0 <= 0) ok 5 - didn't leak after parsing multiple replies (leaks 0 <= 0) 1..5 ok t/parser.t ... # Subtest: Pure Perl Implementation # Subtest: Request encoding ok 1 - Single command is ok ok 2 - Integer ok 3 - ASCII string ok 4 - Length is in bytes ok 5 - unicode string ok 6 - binary string 1..6 ok 1 - Request encoding # Subtest: One line reply ok 1 - Five callbacks were added ok 2 - + ok 3 - parse returned 0 ok 4 - +OK ok 5 - parse returned 0 ok 6 - +OK\r ok 7 - parse returned 2 ok 8 - Found 2 replies ok 9 - Three callbacks left ok 10 - OK, And here we have something long ok 11 - parse returned 3 ok 12 - Got 3 replies ok 13 - 'Got an error object' isa 'RedisDB::Parser::Error' ok 14 - correct error message ok 15 - 'Got an MOVED error object' isa 'RedisDB::Parser::Error::MOVED' ok 16 - correct slot ok 17 - correct host ok 18 - correct port ok 19 - 'Got an ASK error object' isa 'RedisDB::Parser::Error::ASK' ok 20 - correct slot ok 21 - correct host ok 22 - correct port 1..22 ok 2 - One line reply # Subtest: Integer reply ok 1 - : ok 2 - :12 ok 3 - Got a reply ok 4 - got 1234 ok 5 - Got two replies ok 6 - got 0 and -123 ok 7 - Dies on invalid integer reply 1..7 ok 3 - Integer reply # Subtest: Bulk reply ok 1 - $ ok 2 - $6\r\nfoobar ok 3 - Got three replies ok 4 - Got foobar, undef, and empty string 1..4 ok 4 - Bulk reply # Subtest: Multi-bulk reply ok 1 - *4$3foo$ ok 2 - *4$3foo$-1$0$5Hello ok 3 - Got a reply ok 4 - got correct reply foo/undef//Hello ok 5 - Got two replies ok 6 - *0 is empty list, *-1 is undef ok 7 - Got a reply ok 8 - subscribe foo :2 1..8 ok 5 - Multi-bulk reply # Subtest: Deep nested multi-bulk reply ok 1 - waits for the last chunk ok 2 - Got a reply ok 3 - got correct nested multi-bulk reply 1..3 ok 6 - Deep nested multi-bulk reply # Subtest: Transaction ok 1 - Incomplete result - not parsed ok 2 - After encapsulated multi-bulk part - still not parsed ok 3 - Got a reply ok 4 - Successfuly parsed a transaction reply ok 5 - Got a reply ok 6 - Parsed with list in the end too ok 7 - Got a reply ok 8 - Parsed reply with empty list and undef ok 9 - Got a reply with error inside ok 10 - has empty list ok 11 - ' has error object' isa 'RedisDB::Parser::Error' ok 12 - ERR Oops ok 13 - has OK 1..13 ok 7 - Transaction # Subtest: Propagate reply ok 1 - No callbacks in the queue ok 2 - All callbacks got the error 1..2 ok 8 - Propagate reply 1..8 ok 1 - Pure Perl Implementation ok 2 - XS implementation loaded ok 3 - 'Got XS version of the object' isa 'RedisDB::Parser::XS' # Subtest: XS Implementation # Subtest: Request encoding ok 1 - Single command is ok ok 2 - Integer ok 3 - ASCII string ok 4 - Length is in bytes ok 5 - unicode string ok 6 - binary string 1..6 ok 1 - Request encoding # Subtest: One line reply ok 1 - Five callbacks were added ok 2 - + ok 3 - parse returned 0 ok 4 - +OK ok 5 - parse returned 0 ok 6 - +OK\r ok 7 - parse returned 2 ok 8 - Found 2 replies ok 9 - Three callbacks left ok 10 - OK, And here we have something long ok 11 - parse returned 3 ok 12 - Got 3 replies ok 13 - 'Got an error object' isa 'RedisDB::Parser::Error' ok 14 - correct error message ok 15 - 'Got an MOVED error object' isa 'RedisDB::Parser::Error::MOVED' ok 16 - correct slot ok 17 - correct host ok 18 - correct port ok 19 - 'Got an ASK error object' isa 'RedisDB::Parser::Error::ASK' ok 20 - correct slot ok 21 - correct host ok 22 - correct port 1..22 ok 2 - One line reply # Subtest: Integer reply ok 1 - : ok 2 - :12 ok 3 - Got a reply ok 4 - got 1234 ok 5 - Got two replies ok 6 - got 0 and -123 ok 7 - Dies on invalid integer reply 1..7 ok 3 - Integer reply # Subtest: Bulk reply ok 1 - $ ok 2 - $6\r\nfoobar ok 3 - Got three replies ok 4 - Got foobar, undef, and empty string 1..4 ok 4 - Bulk reply # Subtest: Multi-bulk reply ok 1 - *4$3foo$ ok 2 - *4$3foo$-1$0$5Hello ok 3 - Got a reply ok 4 - got correct reply foo/undef//Hello ok 5 - Got two replies ok 6 - *0 is empty list, *-1 is undef ok 7 - Got a reply ok 8 - subscribe foo :2 1..8 ok 5 - Multi-bulk reply # Subtest: Deep nested multi-bulk reply ok 1 - waits for the last chunk ok 2 - Got a reply ok 3 - got correct nested multi-bulk reply 1..3 ok 6 - Deep nested multi-bulk reply # Subtest: Transaction ok 1 - Incomplete result - not parsed ok 2 - After encapsulated multi-bulk part - still not parsed ok 3 - Got a reply ok 4 - Successfuly parsed a transaction reply ok 5 - Got a reply ok 6 - Parsed with list in the end too ok 7 - Got a reply ok 8 - Parsed reply with empty list and undef ok 9 - Got a reply with error inside ok 10 - has empty list ok 11 - ' has error object' isa 'RedisDB::Parser::Error' ok 12 - ERR Oops ok 13 - has OK 1..13 ok 7 - Transaction # Subtest: Propagate reply ok 1 - No callbacks in the queue ok 2 - All callbacks got the error 1..2 ok 8 - Propagate reply 1..8 ok 4 - XS Implementation 1..4 ok t/utf8.t ..... # Subtest: default, PP ok 1 - octets encoded as octets ok 2 - response parsed as octets ok 3 - utf value encoded as octets ok 4 - response parsed as octets 1..4 ok 1 - default, PP # Subtest: with utf8, PP ok 1 - octets were encoded as utf8 ok 2 - utf value encoded as octets ok 3 - response decoded as utf8 ok 4 - parser dies if response contains invalid utf8 1..4 ok 2 - with utf8, PP # Subtest: default, XS ok 1 - octets encoded as octets ok 2 - response parsed as octets ok 3 - utf value encoded as octets ok 4 - response parsed as octets 1..4 ok 3 - default, XS # Subtest: default, XS ok 1 - octets were encoded as utf8 ok 2 - utf value encoded as octets ok 3 - response decoded as utf8 ok 4 - parser dies if response contains invalid utf8 1..4 ok 4 - default, XS 1..4 ok All tests successful. Files=4, Tests=14, 2 wallclock secs ( 0.09 usr + 0.03 sys = 0.13 CPU) Result: PASS ZWON/RedisDB-Parser-2.22.tar.gz dmake test TEST_VERBOSE=1 -- OK Pavel Shaydo <pshajdo@gmail.com> Redis protocol parser >>> (cd C:\cpanfly-5.20\var\cpan\build\RedisDB-Parser-2.22-m8EB2G && tar cvf - RedisDB-Parser-2.22.ppd blib) | gzip -c >C:/cpanfly-5.20/var/REPO/Z/ZW/ZWON/RedisDB-Parser-2.22.tar.gz RedisDB-Parser-2.22.ppd blib/ blib/arch/ blib/arch/auto/ blib/arch/auto/RedisDB/ blib/arch/auto/RedisDB/Parser/ blib/arch/auto/RedisDB/Parser/Parser.dll blib/lib/ blib/lib/RedisDB/ blib/lib/RedisDB/Parser/ blib/lib/RedisDB/Parser/Error.pm blib/lib/RedisDB/Parser/PP.pm blib/lib/RedisDB/Parser/XS.pm blib/lib/RedisDB/Parser.pm blib/lib/RedisDB/README.pod >>> mv C:\cpanfly-5.20\var\cpan\build\RedisDB-Parser-2.22-m8EB2G/RedisDB-Parser-2.22.ppd C:/cpanfly-5.20/var/REPO/Z/ZW/ZWON Finished 2016-01-21T14:56:43