######################### use Test::More tests => 46; BEGIN { use_ok('Cache::FastMmap') }; use strict; ######################### # Insert your test code below, the Test::More module is use()ed here so read # its man page ( perldoc Test::More ) for help writing this test script. my $FC = Cache::FastMmap->new(init_file => 1, expire_time => 3, raw_values => 1); ok( defined $FC ); my $FC2 = Cache::FastMmap->new(init_file => 1, expire_time => 5, raw_values => 1); ok( defined $FC2 ); ok( $FC->set('abc', '123'), "expire set 1"); is( $FC->get('abc'), '123', "expire get 2"); ok( $FC2->set('abc', '123'), "expire set 3"); ok( $FC2->set('def', '123', 3), "expire set 4"); ok( $FC2->set('ghi', '123', 'now'), "expire set 5"); ok( $FC2->set('jkl', '123', 'never'), "expire set 6"); is( $FC2->get('abc'), '123', "expire get 7"); is( $FC2->get('def'), '123', "expire get 8"); is( $FC2->get('ghi'), '123', "expire get 9"); is( $FC2->get('jkl'), '123', "expire get 10"); sleep(2); ok( $FC->set('def', '456'), "expire set 11"); is( $FC->get('abc'), '123', "expire get 12"); is( $FC->get('def'), '456', "expire get 13"); is( $FC2->get('abc'), '123', "expire get 14"); is( $FC2->get('def'), '123', "expire get 15"); ok( !defined $FC2->get('ghi'), "expire get 16"); is( $FC2->get('jkl'), '123', "expire get 17"); sleep(2); ok( !defined $FC->get('abc'), "expire get 18"); is( $FC->get('def'), '456', "expire get 19"); is( $FC2->get('abc'), '123', "expire get 20"); ok( !defined $FC2->get('def'), "expire get 21"); ok( !defined $FC2->get('ghi'), "expire get 22"); is( $FC2->get('jkl'), '123', "expire get 23"); sleep(2); ok( !defined $FC->get('abc'), "expire get 24"); ok( !defined $FC->get('def'), "expire get 25"); ok( !defined $FC2->get('abc'), "expire get 26"); ok( !defined $FC2->get('def'), "expire get 27"); ok( !defined $FC2->get('ghi'), "expire get 28"); is( $FC2->get('jkl'), '123', "expire get 29"); ok( $FC->set('abc', '123', '1s'), "expire set 31"); ok( $FC->set('abc', '123', '1m'), "expire set 32"); ok( $FC->set('abc', '123', '1d'), "expire set 33"); ok( $FC->set('abc', '123', '1w'), "expire set 34"); ok( $FC->set('abc', '123', '1 second'), "expire set 41"); ok( $FC->set('abc', '123', '1 minute'), "expire set 42"); ok( $FC->set('abc', '123', '1 day'), "expire set 43"); ok( $FC->set('abc', '123', '1 week'), "expire set 44"); ok( $FC->set('abc', '123', 'now'), "expire set 45"); ok( $FC->set('abc', '123', 'never'), "expire set 46"); ok( $FC->set('abc', '123', 's'), "expire set 47"); ok( $FC->set('abc', '123', ''), "expire set 48"); ok( $FC->set('abc', '123', -1), "expire set 49"); ok( $FC->set('abc', '123', 'garbage'), "expire set 50");