PATH=C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\Perl64\site\bin;C:\Perl64\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files (x86)\Perforce;C:\mysql\bin Start 2011-08-05T20:20:50 ActivePerl-1003 CPAN-1.9402 LIB=C:\PlatSDK\Lib\AMD64;C:\PlatSDK\Lib\AMD64\atlmfc INCLUDE=C:\PlatSDK\Include;C:\PlatSDK\Include\crt;C:\PlatSDK\Include\crt\sys;C:\PlatSDK\Include\mfc;C:\PlatSDK\Include\atl PATH=C:/cpanfly/var/libs/bin;C:\PlatSDK\Bin\Win64\x86\AMD64;C:\PlatSDK\Bin;C:\PlatSDK\Bin\WinNT;C:\Perl64\site\bin;C:\Perl64\bin;C:\cygwin\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WINDOW~1\v1.0;C:\PROGRA~2\Perforce;C:\mysql\bin Going to read 'C:\cpanfly\var\cpan\Metadata' Database was generated on Fri, 05 Aug 2011 18:27:58 GMT Running make for M/MA/MARKSTOS/CGI-Session-4.48.tar.gz Checksum for C:\cpanfly\var\cpan\sources\authors\id\M\MA\MARKSTOS\CGI-Session-4.48.tar.gz ok Will not use Archive::Tar, need 1.00 CGI-Session-4.48 CGI-Session-4.48/Makefile.PL CGI-Session-4.48/Build.PL CGI-Session-4.48/META.yml CGI-Session-4.48/Changelog.ini CGI-Session-4.48/MANIFEST.SKIP CGI-Session-4.48/Changes CGI-Session-4.48/INSTALL CGI-Session-4.48/META.json CGI-Session-4.48/MANIFEST CGI-Session-4.48/README CGI-Session-4.48/t CGI-Session-4.48/t/api3_file_storable.t CGI-Session-4.48/t/symlink_file.t CGI-Session-4.48/t/expire.t CGI-Session-4.48/t/api3_db_file.t CGI-Session-4.48/t/load_with_undef.t CGI-Session-4.48/t/g4_sqlite_storable.t CGI-Session-4.48/t/g4_mysql_freezethaw.t CGI-Session-4.48/t/header.t CGI-Session-4.48/t/g4_storable.t CGI-Session-4.48/t/is_new.t CGI-Session-4.48/t/flush.t CGI-Session-4.48/t/g4_dbfile_storable.t CGI-Session-4.48/t/g4_dbfile_freezethaw.t CGI-Session-4.48/t/cgi_simple.t CGI-Session-4.48/t/g4_sqlite.t CGI-Session-4.48/t/g4_postgresql.t CGI-Session-4.48/t/remote_addr.t CGI-Session-4.48/t/api3_db_file_storable_incr.t CGI-Session-4.48/t/find.t CGI-Session-4.48/t/api3_obj_store.t CGI-Session-4.48/t/load.t CGI-Session-4.48/t/bug21952.t CGI-Session-4.48/t/g4_freezethaw.t CGI-Session-4.48/t/api3_file_freezethaw.t CGI-Session-4.48/t/bug24285.t CGI-Session-4.48/t/session_param_undef.t CGI-Session-4.48/t/parse_dsn.t CGI-Session-4.48/t/api3_file.t CGI-Session-4.48/t/g4_postgresql_storable.t CGI-Session-4.48/t/g4_mysql.t CGI-Session-4.48/t/str2seconds.t CGI-Session-4.48/t/name.t CGI-Session-4.48/t/g4_sqlite_freezethaw.t CGI-Session-4.48/t/ip_matches.t CGI-Session-4.48/t/api3_file_storable_incr.t CGI-Session-4.48/t/g4_dbfile.t CGI-Session-4.48/t/complex_ds.t CGI-Session-4.48/t/api3_db_file_freezethaw.t CGI-Session-4.48/t/api3_obj_store_db_file.t CGI-Session-4.48/t/api3_incr.t CGI-Session-4.48/t/api3_file_freezethaw_incr.t CGI-Session-4.48/t/driver_dbi.t CGI-Session-4.48/t/g4_postgresql_freezethaw.t CGI-Session-4.48/t/g4.t CGI-Session-4.48/t/bug21981.todo CGI-Session-4.48/t/g4_mysql_storable.t CGI-Session-4.48/t/symlink_db_file.t CGI-Session-4.48/t/api3_db_file_storable.t CGI-Session-4.48/t/new_with_undef.t CGI-Session-4.48/lib CGI-Session-4.48/lib/CGI CGI-Session-4.48/lib/CGI/Session.pm CGI-Session-4.48/lib/CGI/Session CGI-Session-4.48/lib/CGI/Session/Driver.pm CGI-Session-4.48/lib/CGI/Session/Tutorial.pm CGI-Session-4.48/lib/CGI/Session/ErrorHandler.pm CGI-Session-4.48/lib/CGI/Session/Serialize CGI-Session-4.48/lib/CGI/Session/Serialize/default.pm CGI-Session-4.48/lib/CGI/Session/Serialize/freezethaw.pm CGI-Session-4.48/lib/CGI/Session/Serialize/storable.pm CGI-Session-4.48/lib/CGI/Session/Test CGI-Session-4.48/lib/CGI/Session/Test/Default.pm CGI-Session-4.48/lib/CGI/Session/Driver CGI-Session-4.48/lib/CGI/Session/Driver/DBI.pm CGI-Session-4.48/lib/CGI/Session/Driver/mysql.pm CGI-Session-4.48/lib/CGI/Session/Driver/postgresql.pm CGI-Session-4.48/lib/CGI/Session/Driver/db_file.pm CGI-Session-4.48/lib/CGI/Session/Driver/file.pm CGI-Session-4.48/lib/CGI/Session/Driver/sqlite.pm CGI-Session-4.48/lib/CGI/Session/ID CGI-Session-4.48/lib/CGI/Session/ID/static.pm CGI-Session-4.48/lib/CGI/Session/ID/md5.pm CGI-Session-4.48/lib/CGI/Session/ID/incr.pm CGI-Session-4.48/examples CGI-Session-4.48/examples/subscriptions.cgi CGI-Session-4.48/examples/purge.pl CPAN.pm: Going to build M/MA/MARKSTOS/CGI-Session-4.48.tar.gz >>> C:\Perl64\bin\perl.exe Makefile.PL ---------------------------------------- #### WARNING #### If you are using custom CGI::Session drivers they may not be compatible with the current driver specifications. You will need to make some changes to your drivers' code before proceeding with this installation to make it compatible with CGI::Session 4.x. Fortunately, current driver specifications are a lot easier to adapt to. Should you have any assistance re-coding your current drivers, please let me know. Current driver specs are documented in CGI/Session/Driver.pm #### TESTING ##### You are encouraged to run tests for the backend you will be using. The database backends that need a customized connection string won't run by default. To run them, some environment variables must be set. The simplest method is to use the standard "DBI_DSN/DBI_USER/DBI_PASS" environment variables. Otherwise, you can set these variables: For PostgreSQL: CGISESS_PG_DSN CGISESS_PG_USER CGISESS_PG_PASS For MySQL: CGISESS_MYSQL_DSN CGISESS_MYSQL_USER CGISESS_MYSQL_PASS CGISESS_MYSQL_SOCKET ---------------------------------------- Regenerating Changelog.ini... 'ini.report.pl' is not recognized as an internal or external command, operable program or batch file. WARNING: EXTRA_META is not a known parameter. Warning: Module::Metadata::Changes's ini.report.pl failed to generate or update Changelog.ini. ---------------------------------------- Checking if your kit is complete... Warning: the following files are missing in your kit: MYMETA.json Please inform the author. 'EXTRA_META' is not a known MakeMaker parameter name. Writing Makefile for CGI::Session >>> nmake Microsoft (R) Program Maintenance Utility Version 7.00.8882 Copyright (C) Microsoft Corp 1988-2000. All rights reserved. cp lib/CGI/Session/Test/Default.pm blib\lib\CGI\Session\Test\Default.pm cp lib/CGI/Session/Driver/postgresql.pm blib\lib\CGI\Session\Driver\postgresql.pm cp lib/CGI/Session/Driver/sqlite.pm blib\lib\CGI\Session\Driver\sqlite.pm cp lib/CGI/Session/Driver.pm blib\lib\CGI\Session\Driver.pm cp lib/CGI/Session/ID/static.pm blib\lib\CGI\Session\ID\static.pm cp lib/CGI/Session/Serialize/storable.pm blib\lib\CGI\Session\Serialize\storable.pm cp lib/CGI/Session/Driver/db_file.pm blib\lib\CGI\Session\Driver\db_file.pm cp lib/CGI/Session/Driver/mysql.pm blib\lib\CGI\Session\Driver\mysql.pm cp lib/CGI/Session.pm blib\lib\CGI\Session.pm cp lib/CGI/Session/Driver/DBI.pm blib\lib\CGI\Session\Driver\DBI.pm cp lib/CGI/Session/Tutorial.pm blib\lib\CGI\Session\Tutorial.pm cp lib/CGI/Session/ID/incr.pm blib\lib\CGI\Session\ID\incr.pm cp lib/CGI/Session/Serialize/freezethaw.pm blib\lib\CGI\Session\Serialize\freezethaw.pm cp lib/CGI/Session/ErrorHandler.pm blib\lib\CGI\Session\ErrorHandler.pm cp lib/CGI/Session/Serialize/default.pm blib\lib\CGI\Session\Serialize\default.pm cp lib/CGI/Session/Driver/file.pm blib\lib\CGI\Session\Driver\file.pm cp lib/CGI/Session/ID/md5.pm blib\lib\CGI\Session\ID\md5.pm MARKSTOS/CGI-Session-4.48.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:\Perl64\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1, 'blib\lib', 'blib\arch')" t/*.t t/api3_db_file.t ................ skipped: DB_File not available t/api3_db_file_freezethaw.t ..... skipped: DB_File not available t/api3_db_file_storable.t ....... skipped: DB_File not available t/api3_db_file_storable_incr.t .. skipped: DB_File not available t/api3_file.t ................... 1..17 ok 1 - use CGI::Session; ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 - found email param in session ok 13 - found author param in session ok 14 ok 15 - $s->clear("name") survives eval ok 16 - email param is cleared from session ok 17 - author param is still in session ok t/api3_file_freezethaw.t ........ 1..14 ok 1 - use CGI::Session; ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok t/api3_file_freezethaw_incr.t ... 1..15 ok 1 - use File::Spec; ok 2 - use CGI::Session; ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok t/api3_file_storable.t .......... 1..14 ok 1 - use CGI::Session; ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok t/api3_file_storable_incr.t ..... 1..15 ok 1 - use File::Spec; ok 2 - use CGI::Session; ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok t/api3_incr.t ................... 1..14 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok #Using FreezeThaw as object serializer t/api3_obj_store.t .............. 1..8 ok ok ok ok ok ok ok ok ok t/api3_obj_store_db_file.t ...... skipped: DB_File is not available t/bug21952.t .................... ok 1 - use CGI; ok 2 - use CGI::Session; ok 3 - use CGI::Session::Driver; ok 4 - use CGI::Session::Driver::file; ok 5 - $opt_dsn is HASH ok 6 ok 7 ok 8 - $opt_dsn is HASH ok 9 - Session object is no longer available ok 10 - $opt_dsn still exists ok 11 - $opt_dsn is still a hashref 1..11 ok t/bug24285.t .................... ok 1 - Created CGI::Session object successfully ok 2 - Created file outside /tmp successfully 1..2 ok t/cgi_simple.t .................. ok 1 - survives eval ok 2 - CGI::Simple object is accepted when passed to new() ok 3 - cookie() method works with CGI::Simple ok 4 - http_header() method works with CGI::Simple 1..4 ok t/complex_ds.t .................. 1..10 ok 1 ok 2 ok 3 ok 4 - Test 1 ok 5 - Test 2 ok 6 - Bir ok 7 ok 8 - Test 1 ok 9 - Test 2 ok 10 - Bir ok t/driver_dbi.t .................. ok 1 - use CGI::Session::Driver::DBI; ok 2 - retrieve returns expected failure message when no session id is given ok 3 - traverse returns expected failure message when no session id is given 1..3 ok t/expire.t ...................... ok 1 - undef is returned if nothing has been set yet. ok 2 - basic set/get check ok 3 - negative set/get check ok 4 - zero cancels expiration ok 5 - setting expiration for a single param works ok 6 - zero expires parameters 1..6 ok # The found session has been deleted and flushed t/find.t ........................ 1..7 ok 1 - The test session has been created ok 2 - The test session's id has been set ok 3 - The test session's parameter called 'purpose' has been set ok 4 - CGI::Session::find() found a session whose class isa CGI::Session ok 5 - The found session's param called 'purpose' has a true value ok 6 - The found session's param called 'purpose' has the expected value ok 7 - find() returned no errors ok t/flush.t ....................... ok 1 - found session id ok 2 - found session data file 1..2 ok t/g4.t .......................... 1..101 ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 - Id is empty ok 5 - Session is empty ok 6 - Session is not expired ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 12cc5abe8289a535e17cb6d63bc47ecb ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :a57a1adb8b401f0275919b467999c918 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'a57a1adb8b401f0275919b467999c918' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (a57a1adb8b401f0275919b467999c918) couldn't be recovered. New ID is: f1571afe945f128e974a151b2dd5801f ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (f1571afe945f128e974a151b2dd5801f) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - CGI::Session::Test::SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedClass created successfully ok 72 - OverloadedClass is properly overloaded ok 73 - OverloadedClass is an object ok 74 ok 75 - CGI::Session::Test::SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses ok 82 - === 7 === ok 83 - Session object created successfully ok 84 - Previously stored object loaded successfully ok 85 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 86 - ok 87 - ok 88 - ok 89 - ok 90 ok 91 - Object is still overloaded ok 92 - Object is really overloaded ok 93 - First element of anonymous array undef ok 94 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 95 - ok 96 - ok 97 - ok 98 - ok 99 ok 100 - Object is really overloaded ok 101 - Overloaded objects have matching addresses ok t/g4_dbfile.t ................... skipped: DB_File is NOT available t/g4_dbfile_freezethaw.t ........ skipped: DB_File is NOT available t/g4_dbfile_storable.t .......... skipped: DB_File is NOT available t/g4_freezethaw.t ............... 1..101 ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 - Id is empty ok 5 - Session is empty ok 6 - Session is not expired ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 5baef946307ee99f2edf296783237ffe ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :c4367f47f302b488a0a79bc6154c6631 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'c4367f47f302b488a0a79bc6154c6631' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (c4367f47f302b488a0a79bc6154c6631) couldn't be recovered. New ID is: 1882f40dd6a1358272fd4ae485620f87 ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (1882f40dd6a1358272fd4ae485620f87) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - CGI::Session::Test::SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedClass created successfully ok 72 - OverloadedClass is properly overloaded ok 73 - OverloadedClass is an object ok 74 ok 75 - CGI::Session::Test::SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses ok 82 - === 7 === ok 83 - Session object created successfully ok 84 - Previously stored object loaded successfully ok 85 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 86 - ok 87 - ok 88 - ok 89 - ok 90 ok 91 - Object is still overloaded ok 92 - Object is really overloaded ok 93 - First element of anonymous array undef ok 94 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 95 - ok 96 - ok 97 - ok 98 - ok 99 ok 100 - Object is really overloaded ok 101 - Overloaded objects have matching addresses ok t/g4_mysql.t .................... skipped: Couldn't establish connection with the MySQL server: Can't connect to data source '' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at t/g4_mysql.t line 44 t/g4_mysql_freezethaw.t ......... skipped: Couldn't establish connection with the MySQL server: Can't connect to data source '' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at t/g4_mysql_freezethaw.t line 43 t/g4_mysql_storable.t ........... skipped: Couldn't establish connection with the MySQL server: Can't connect to data source '' because I can't work out what driver to use (it doesn't seem to contain a 'dbi:driver:' prefix and the DBI_DRIVER env var is not set) at t/g4_mysql_storable.t line 43 t/g4_postgresql.t ............... skipped: DataSource is not known t/g4_postgresql_freezethaw.t .... skipped: DataSource is not known t/g4_postgresql_storable.t ...... skipped: DataSource is not known t/g4_sqlite.t ................... 1..105 ok 1 - Correct information has been saved in the session... ok 2 - Only one copy of the session file... ok 3 - Information is retrieved from past session alright... ok 4 - Still only one copy of the session... ok 5 - use CGI::Session; ok 6 - === 1 === ok 7 - empty session should be created ok 8 - Id is empty ok 9 - Session is empty ok 10 - Session is not expired ok 11 - Session created successfully! ok 12 - ok 13 - ctime & atime are set ok 14 - ctime == atime ok 15 - etime not set yet ok 16 - session id is a780b7dab296bc470e53a38f594e49f5 ok 17 - session holds 3 params3 ok 18 - My name's correct! ok 19 - 'emails' holds list of values ok 20 - 'emails' holds list of two values ok 21 - first value of 'emails' is correct! ok 22 - second value of 'emails' is correct! ok 23 - 'blogs' holds a hash ok 24 - first blog is correct ok 25 - second blog is correct ok 26 - === 2 === ok 27 - survived eval without error. ok 28 - Session was retrieved successfully ok 29 - session isn't expired yet ok 30 - session IDs are consistent ok 31 - ctime should be older than atime ok 32 - etime shouldn't be set yet ok 33 - session should hold params ok 34 - my name's correct ok 35 - 'emails' should hold list of values ok 36 - 'emails' should hold list of two values ok 37 - first value is correct! ok 38 - second value is correct! ok 39 - 'blogs' holds a hash ok 40 - first blog is correct! ok 41 - second blog is correct! ok 42 - etime set to 1 second ok 43 - etime set to one minute ok 44 - etime set to two hours ok 45 - etime set to 5 days ok 46 - etime set to 10 seconds in the past ok 47 - etime set back to one second ok 48 - calling close method survives eval ok 49 - === 3 === ok 50 - Session instance loaded ok 51 - session doesn't have ID ok 52 - session is empty, which is the same as above ok 53 - session was expired ok 54 - session data cleared ok 55 - new session created ok 56 - session has id :ebfa949fd83c57d8650e8710e1005b9a ok 57 - session isn't expired ok 58 - session isn't empty ok 59 - access and creation times are same ok 60 - it's a completely different session than above ok 61 - === 4 === ok 62 - Session 'ebfa949fd83c57d8650e8710e1005b9a' removed from datastore successfully ok 63 - session object created successfully ok 64 - claimed ID (ebfa949fd83c57d8650e8710e1005b9a) couldn't be recovered. New ID is: 1e79f0aade479530374b66843708fc3a ok 65 - === 5 === ok 66 - Session object created successfully ok 67 - claimed id (1e79f0aade479530374b66843708fc3a) was recovered successfully! ok 68 - === 6 === ok 69 - Session object created successfully ok 70 - New object created, because previous object was deleted ok 71 - CGI::Session::Test::SimpleObjectClass created successfully ok 72 ok 73 ok 74 ok 75 - OverloadedClass created successfully ok 76 - OverloadedClass is properly overloaded ok 77 - OverloadedClass is an object ok 78 ok 79 - CGI::Session::Test::SimpleObjectClass created successfully ok 80 - First element of anonymous array undef ok 81 ok 82 ok 83 ok 84 ok 85 - Overloaded objects have matching addresses ok 86 - === 7 === ok 87 - Session object created successfully ok 88 - Previously stored object loaded successfully ok 89 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 90 - ok 91 - ok 92 - ok 93 - ok 94 ok 95 - Object is still overloaded ok 96 - Object is really overloaded ok 97 - First element of anonymous array undef ok 98 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 99 - ok 100 - ok 101 - ok 102 - ok 103 ok 104 - Object is really overloaded ok 105 - Overloaded objects have matching addresses ok t/g4_sqlite_freezethaw.t ........ 1..101 ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 - Id is empty ok 5 - Session is empty ok 6 - Session is not expired ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 877cd72538a068592023c2468dbabc9d ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :038f99211adc223869c993a9e4fcaa8a ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session '038f99211adc223869c993a9e4fcaa8a' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (038f99211adc223869c993a9e4fcaa8a) couldn't be recovered. New ID is: 08998ef21fa299c84b710171d037abe1 ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (08998ef21fa299c84b710171d037abe1) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - CGI::Session::Test::SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedClass created successfully ok 72 - OverloadedClass is properly overloaded ok 73 - OverloadedClass is an object ok 74 ok 75 - CGI::Session::Test::SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses ok 82 - === 7 === ok 83 - Session object created successfully ok 84 - Previously stored object loaded successfully ok 85 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 86 - ok 87 - ok 88 - ok 89 - ok 90 ok 91 - Object is still overloaded ok 92 - Object is really overloaded ok 93 - First element of anonymous array undef ok 94 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 95 - ok 96 - ok 97 - ok 98 - ok 99 ok 100 - Object is really overloaded ok 101 - Overloaded objects have matching addresses ok t/g4_sqlite_storable.t .......... 1..101 ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 - Id is empty ok 5 - Session is empty ok 6 - Session is not expired ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is 89e1bacdfff439cfe0f70e63b70455e7 ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :def4e832dccabc7e4c57d547628edfa6 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'def4e832dccabc7e4c57d547628edfa6' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (def4e832dccabc7e4c57d547628edfa6) couldn't be recovered. New ID is: 102039fe237e87e370c36286f82727b2 ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (102039fe237e87e370c36286f82727b2) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - CGI::Session::Test::SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedClass created successfully ok 72 - OverloadedClass is properly overloaded ok 73 - OverloadedClass is an object ok 74 ok 75 - CGI::Session::Test::SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses ok 82 - === 7 === ok 83 - Session object created successfully ok 84 - Previously stored object loaded successfully ok 85 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 86 - ok 87 - ok 88 - ok 89 - ok 90 ok 91 - Object is still overloaded ok 92 - Object is really overloaded ok 93 - First element of anonymous array undef ok 94 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 95 - ok 96 - ok 97 - ok 98 - ok 99 ok 100 - Object is really overloaded ok 101 - Overloaded objects have matching addresses ok t/g4_storable.t ................. 1..101 ok 1 - use CGI::Session; ok 2 - === 1 === ok 3 - empty session should be created ok 4 - Id is empty ok 5 - Session is empty ok 6 - Session is not expired ok 7 - Session created successfully! ok 8 - ok 9 - ctime & atime are set ok 10 - ctime == atime ok 11 - etime not set yet ok 12 - session id is ca2376baec269da13ac72d41c85a23ed ok 13 - session holds 3 params3 ok 14 - My name's correct! ok 15 - 'emails' holds list of values ok 16 - 'emails' holds list of two values ok 17 - first value of 'emails' is correct! ok 18 - second value of 'emails' is correct! ok 19 - 'blogs' holds a hash ok 20 - first blog is correct ok 21 - second blog is correct ok 22 - === 2 === ok 23 - survived eval without error. ok 24 - Session was retrieved successfully ok 25 - session isn't expired yet ok 26 - session IDs are consistent ok 27 - ctime should be older than atime ok 28 - etime shouldn't be set yet ok 29 - session should hold params ok 30 - my name's correct ok 31 - 'emails' should hold list of values ok 32 - 'emails' should hold list of two values ok 33 - first value is correct! ok 34 - second value is correct! ok 35 - 'blogs' holds a hash ok 36 - first blog is correct! ok 37 - second blog is correct! ok 38 - etime set to 1 second ok 39 - etime set to one minute ok 40 - etime set to two hours ok 41 - etime set to 5 days ok 42 - etime set to 10 seconds in the past ok 43 - etime set back to one second ok 44 - calling close method survives eval ok 45 - === 3 === ok 46 - Session instance loaded ok 47 - session doesn't have ID ok 48 - session is empty, which is the same as above ok 49 - session was expired ok 50 - session data cleared ok 51 - new session created ok 52 - session has id :e3eb661fe9a238b03fd1c9725cb2a546 ok 53 - session isn't expired ok 54 - session isn't empty ok 55 - access and creation times are same ok 56 - it's a completely different session than above ok 57 - === 4 === ok 58 - Session 'e3eb661fe9a238b03fd1c9725cb2a546' removed from datastore successfully ok 59 - session object created successfully ok 60 - claimed ID (e3eb661fe9a238b03fd1c9725cb2a546) couldn't be recovered. New ID is: 8ca46b46059cbf5f4ce126dce2fe4072 ok 61 - === 5 === ok 62 - Session object created successfully ok 63 - claimed id (8ca46b46059cbf5f4ce126dce2fe4072) was recovered successfully! ok 64 - === 6 === ok 65 - Session object created successfully ok 66 - New object created, because previous object was deleted ok 67 - CGI::Session::Test::SimpleObjectClass created successfully ok 68 ok 69 ok 70 ok 71 - OverloadedClass created successfully ok 72 - OverloadedClass is properly overloaded ok 73 - OverloadedClass is an object ok 74 ok 75 - CGI::Session::Test::SimpleObjectClass created successfully ok 76 - First element of anonymous array undef ok 77 ok 78 ok 79 ok 80 ok 81 - Overloaded objects have matching addresses ok 82 - === 7 === ok 83 - Session object created successfully ok 84 - Previously stored object loaded successfully ok 85 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 86 - ok 87 - ok 88 - ok 89 - ok 90 ok 91 - Object is still overloaded ok 92 - Object is really overloaded ok 93 - First element of anonymous array undef ok 94 - CGI::Session::Test::SimpleObjectClass loaded successfully ok 95 - ok 96 - ok 97 - ok 98 - ok 99 ok 100 - Object is really overloaded ok 101 - Overloaded objects have matching addresses ok t/header.t ...................... ok 1 - has header() method ok 2 - has http_header() method 1..2 ok t/ip_matches.t .................. ok 1 - ip_match off by default ok 2 - create new session ok 3 - check param TEST set ok 4 - store session id ok 5 - load session with different IP ok 6 - Same session id ok 7 - TEST param still set ok 8 - ip_match switched on ok 9 - create new session ok 10 - REMOTE_IP matches session ok 11 - check param TEST set ok 12 - store session id ok 13 - new session - same ip ok 14 - same session id ok 15 - REMOTE_IP matches session ok 16 - check param TEST set ok 17 - new session - different ip ok 18 - new session id 1..18 ok t/is_new.t ...................... ok 1 - use CGI::Session; ok 2 - session has is_new() method ok 3 - a brand new session is_new ok 4 - a session that has been closed and re-opened is not new 1..4 ok Argument "wrong" isn't numeric in numeric ne (!=) at C:\cpanfly\var\cpan\build\CGI-Session-4.48-mg8gnI\blib\lib/CGI/Session.pm line 684. t/load.t ........................ ok 1 - undefined session is created with wrong number of args to load ok 2 - expected error is returned for too many args ok 3 - don't mention new() in error when load() fails directly. ok 4 - reality check: no error when calling new() ok 5 - expected error when load() called as instance method. 1..5 ok t/load_with_undef.t ............. 1..6 ok 1 - load(undef) returns an object which isa CGI::Session ok 2 - load(undef)'s session object returns an id which /is/ undef ok 3 - load($q without CGISESSID) returns an object which isa CGI::Session ok 4 - load($q without CGISESSID)'s session object returns an id which /is/ undef ok 5 - load($q with fake CGISESSID) returns an object which isa CGI::Session ok 6 - load($q with fake CGISESSID)'s session object returns an id which /is/ undef ok t/name.t ........................ 1..14 ok 1 ok 2 - name used as class method ok 3 - name as class method w/ param ok 4 - name as class method w/ param effective? ok 5 - name as instance method ok 6 - instance method falls through to class ok 7 - instance method w/ param ok 8 - instance method w/ param effective? ok 9 - instance method did not affect class method ok 10 - constructor new with name for session/cookie key ok 11 - constructor name not affecting class ok 12 - constructor on new session not affecting old ok 13 - session from query with new name ok 14 - session in query with default name ok t/new_with_undef.t .............. 1..6 ok 1 - new(undef) returns an object which isa CGI::Session ok 2 - new(undef)'s session object returns an id which is /not/ undef ok 3 - new($q without CGISESSID) returns an object which isa CGI::Session ok 4 - new($q without CGISESSID)'s session object returns an id which is /not/ undef ok 5 - new($q with fake CGISESSID) returns an object which isa CGI::Session ok 6 - new($q with fake CGISESSID)'s session object returns an id which is /not/ undef ok t/parse_dsn.t ................... 1..1 ok 1 - parse_dsn: abbreviation and lower-casing ok t/remote_addr.t ................. 1..5 ok 1 - use CGI::Session; ok 2 ok 3 - remote_addr() exists ok 4 - remote_addr() passes eval ok 5 - remote_addr() is 127.0.0.1 ok # Check in STORE of original item # Check in STORE of stored/retrieved item # Check in LOAD after loading from session t/session_param_undef.t ......... 1..21 ok 1 - use CGI::Session; ok 2 ok 3 - Items are still equal after storing ok 4 - Container->can('add_item') ok 5 - The object isa Container ok 6 - Container->can('add_item') ok 7 - Item->can('get_name') ok 8 - The object isa Item ok 9 - Item->can('get_name') ok 10 - Container->can('add_item') ok 11 - The object isa Container ok 12 - Container->can('add_item') ok 13 - Item->can('get_name') ok 14 - The object isa Item ok 15 - Item->can('get_name') ok 16 - Container->can('add_item') ok 17 - The object isa Container ok 18 - Container->can('add_item') ok 19 - Item->can('get_name') ok 20 - The object isa Item ok 21 - Item->can('get_name') ok t/str2seconds.t ................. ok 1 - got expected result when converting 1w to seconds ok 2 - got expected result when converting 1s to seconds ok 3 - got expected result when converting 1m to seconds ok 4 - got expected result when converting +1m to seconds ok 5 - got expected result when converting 1d to seconds ok 6 - got expected result when converting -1m to seconds ok 7 - got expected result when converting 1y to seconds ok 8 - got expected result when converting 1M to seconds ok 9 - got expected result when converting 1h to seconds 1..9 ok t/symlink_db_file.t ............. skipped: DB_File not available t/symlink_file.t ................ skipped: Your OS doesn't support symlinks All tests successful. Files=48, Tests=843, 23 wallclock secs ( 0.22 usr + 0.03 sys = 0.25 CPU) Result: PASS MARKSTOS/CGI-Session-4.48.tar.gz nmake test TEST_VERBOSE=1 -- OK Fetching with LWP: http://cpan.nas.activestate.com/authors/id/M/MA/MARKSTOS/CHECKSUMS Mark Stosberg <mark@summersault.com> Persistent session data in CGI applications >>> (cd C:\cpanfly\var\cpan\build\CGI-Session-4.48-mg8gnI && tar cvf - CGI-Session-4.48.ppd blib) | gzip -c >C:/cpanfly/var/REPO/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz CGI-Session-4.48.ppd blib/ blib/lib/ blib/lib/CGI/ blib/lib/CGI/Session/ blib/lib/CGI/Session/Driver/ blib/lib/CGI/Session/Driver/DBI.pm blib/lib/CGI/Session/Driver/db_file.pm blib/lib/CGI/Session/Driver/file.pm blib/lib/CGI/Session/Driver/mysql.pm blib/lib/CGI/Session/Driver/postgresql.pm blib/lib/CGI/Session/Driver/sqlite.pm blib/lib/CGI/Session/Driver.pm blib/lib/CGI/Session/ErrorHandler.pm blib/lib/CGI/Session/ID/ blib/lib/CGI/Session/ID/incr.pm blib/lib/CGI/Session/ID/md5.pm blib/lib/CGI/Session/ID/static.pm blib/lib/CGI/Session/Serialize/ blib/lib/CGI/Session/Serialize/default.pm blib/lib/CGI/Session/Serialize/freezethaw.pm blib/lib/CGI/Session/Serialize/storable.pm blib/lib/CGI/Session/Test/ blib/lib/CGI/Session/Test/Default.pm blib/lib/CGI/Session/Tutorial.pm blib/lib/CGI/Session.pm >>> mv C:\cpanfly\var\cpan\build\CGI-Session-4.48-mg8gnI/CGI-Session-4.48.ppd C:/cpanfly/var/REPO/M/MA/MARKSTOS Finished 2011-08-05T20:21:17