PATH=C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft Platform SDK\Bin\WinNT;C:\Program Files\Microsoft Visual Studio\VC98\Bin;C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin;C:\cygwin\bin;C:\cpanfly-5.14\var\megalib\bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\bin;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\instantclient_11_2;C:\cygwin\bin;C:\Program Files\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\mysql\bin Start 2015-10-31T00:18:15 ActivePerl-1400 CPAN-2.00 LIB=C:\PROGRA~1\MICROS~3\VC98\Lib\PSDK;C:\PROGRA~1\MICROS~2\Lib;C:\PROGRA~1\MICROS~3\VC98\Lib;C:\PROGRA~1\MICROS~3\VC98\MFC\Lib INCLUDE=C:\PROGRA~1\MICROS~2\Include;C:\PROGRA~1\MICROS~3\VC98\ATL\Include;C:\PROGRA~1\MICROS~3\VC98\Include;C:\PROGRA~1\MICROS~3\VC98\MFC\Include PATH=C:/CPANFL~1.14/var/libs/bin;C:\PROGRA~1\MICROS~2\Bin;C:\PROGRA~1\MICROS~2\Bin\WinNT;C:\PROGRA~1\MICROS~3\VC98\Bin;C:\PROGRA~1\MICROS~3\Common\MSDev98\Bin;C:\cygwin\bin;C:\CPANFL~1.14\var\megalib\bin;C:\Perl-5.14\site\bin;C:\Perl-5.14\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:\WINDOWS\system32\WINDOW~2\v1.0;C:\INSTAN~1;C:\cygwin\bin;C:\PROGRA~1\Perforce;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\WINDOWS\system32\WINDOW~2\v1.0;C:\mysql\bin Reading 'C:\cpanfly-5.14\var\cpan\Metadata' Database was generated on Sat, 31 Oct 2015 04:53:37 GMT Running make for Z/ZW/ZWON/RedisDB-Parser-2.22.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/Z/ZW/ZWON/RedisDB-Parser-2.22.tar.gz Fetching with LWP: http://cpan.nas1.activestate.com/authors/id/Z/ZW/ZWON/CHECKSUMS Checksum for C:\cpanfly-5.14\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.14\bin\perl.exe Makefile.PL compilet-KGZmI.c Creating library compilet.lib and object compilet.exp ***************************************** * 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 Generating a nmake-style Makefile Writing Makefile for RedisDB::Parser Writing MYMETA.yml and MYMETA.json >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp README.pod blib\lib\RedisDB\README.pod cp lib/RedisDB/Parser/Error.pm blib\lib\RedisDB\Parser\Error.pm cp lib/RedisDB/Parser.pm blib\lib\RedisDB\Parser.pm cp lib/RedisDB/Parser/XS.pm blib\lib\RedisDB\Parser\XS.pm cp lib/RedisDB/Parser/PP.pm blib\lib\RedisDB\Parser\PP.pm Running Mkbootstrap for RedisDB::Parser () "C:\Perl-5.14\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Parser.bs" cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T -MD -Zi -DNDEBUG -O1 -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" "-IC:\Perl-5.14\lib\CORE" rdb_parser.c rdb_parser.c rdb_parser.c(100) : warning C4018: '<' : signed/unsigned mismatch "C:\Perl-5.14\bin\perl.exe" "C:\cpanfly-5.14\var\megalib\ExtUtils\xsubpp" -typemap "C:\Perl-5.14\lib\ExtUtils\typemap" -typemap "typemap" Parser.xs > Parser.xsc && "C:\Perl-5.14\bin\perl.exe" -MExtUtils::Command -e mv -- Parser.xsc Parser.c cl -c -nologo -GF -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DPERL_TEXTMODE_SCRIPTS -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D_USE_32BIT_TIME_T -MD -Zi -DNDEBUG -O1 -DVERSION=\"2.22\" -DXS_VERSION=\"2.22\" "-IC:\Perl-5.14\lib\CORE" Parser.c Parser.c "C:\Perl-5.14\bin\perl.exe" -MExtUtils::Mksymlists -e "Mksymlists('NAME'=>\"RedisDB::Parser\", 'DLBASE' => 'Parser', 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL_VARS' => []);" link -out:blib\arch\auto\RedisDB\Parser\Parser.dll -dll -nologo -nodefaultlib -debug -opt:ref,icf -libpath:"C:\Perl-5.14\lib\CORE" -machine:x86 rdb_parser.obj Parser.obj "C:\Perl-5.14\lib\CORE\perl514.lib" oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib comctl32.lib msvcrt.lib -def:Parser.def Creating library blib\arch\auto\RedisDB\Parser\Parser.lib and object blib\arch\auto\RedisDB\Parser\Parser.exp if exist blib\arch\auto\RedisDB\Parser\Parser.dll.manifest mt -nologo -manifest blib\arch\auto\RedisDB\Parser\Parser.dll.manifest -outputresource:blib\arch\auto\RedisDB\Parser\Parser.dll;2 if exist blib\arch\auto\RedisDB\Parser\Parser.dll.manifest del blib\arch\auto\RedisDB\Parser\Parser.dll.manifest "C:\Perl-5.14\bin\perl.exe" -MExtUtils::Command -e chmod -- 755 blib\arch\auto\RedisDB\Parser\Parser.dll ZWON/RedisDB-Parser-2.22.tar.gz nmake -- OK Running make test >>> nmake test TEST_VERBOSE=1 Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. "C:\Perl-5.14\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.014000, C:\Perl-5.14\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.03 usr + 0.03 sys = 0.06 CPU) Result: PASS ZWON/RedisDB-Parser-2.22.tar.gz nmake test TEST_VERBOSE=1 -- OK Pavel Shaydo <pshajdo@gmail.com> Redis protocol parser >>> (cd C:\cpanfly-5.14\var\cpan\build\RedisDB-Parser-2.22-dk7qsF && tar cvf - RedisDB-Parser-2.22.ppd blib) | gzip -c >C:/cpanfly-5.14/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/arch/auto/RedisDB/Parser/Parser.exp blib/arch/auto/RedisDB/Parser/Parser.lib 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.14\var\cpan\build\RedisDB-Parser-2.22-dk7qsF/RedisDB-Parser-2.22.ppd C:/cpanfly-5.14/var/REPO/Z/ZW/ZWON Finished 2015-10-31T00:18:26