--- t/12-tcj.t 2008/09/21 20:16:39 37 +++ t/12-tcj.t 2009/02/14 17:34:01 39 @@ -5,7 +5,7 @@ use blib; -use Test::More tests => 30; +use Test::More tests => 32; use Test::Exception; use Data::Dump qw/dump/; @@ -35,14 +35,16 @@ ok( tcjdbopen( $jdb, $path, JDBOWRITER | JDBOCREAT | JDBOTRUNC ), "tcjdbopen $path" ); -ok( tcjdbclose( $jdb ), 'tcjdbclose' ); -diag tcjdberrmsg( tcjdbecode( $jdb ) ); +SKIP: { + skip 'close on empty database makes next open segfault', 2; -ok( tcjdbopen( $jdb, $path, JDBOWRITER | JDBOCREAT ), "tcjdbopen $path again" ); -diag tcjdberrmsg( tcjdbecode( $jdb ) ); + ok( tcjdbclose( $jdb ), 'tcjdbclose' ); + + ok( tcjdbopen( $jdb, $path, JDBOWRITER | JDBOCREAT ), "tcjdbopen $path again" ); + +} ok( tcjdbput( $jdb, 1, [ 'foobar' ] ), 'tcjdbput' ); -diag tcjdberrmsg( tcjdbecode( $jdb ) ); ok( tcjdbout( $jdb, 1 ), 'tcjdbout' ); @@ -50,9 +52,11 @@ ok( tcjdbput2( $jdb, 99, 'some more data again', ' ' ), 'tcjdbput2' ); -is_deeply( tcjdbsearch( $jdb, 'some', JDBSSUBSTR ), [ 42 ], 'tcjdbsearch' ); +is_deeply( tcjdbsearch( $jdb, 'some', JDBSSUBSTR ), [ 42, 99 ], 'tcjdbsearch' ); +is_deeply( tcjdbsearch2( $jdb, 'some' ), [ 42, 99 ], 'tcjdbsearch2' ); ok( tcjdbput( $jdb, 65536, [ 'some', 'more', 'data' ] ), 'tcjdbput more data' ); -is_deeply( tcjdbsearch( $jdb, 'some', JDBSSUBSTR ), [ 42, 65536 ], 'tcjdbsearch' ); +is_deeply( tcjdbsearch( $jdb, 'some', JDBSSUBSTR ), [ 42, 99, 65536 ], 'tcjdbsearch' ); +is_deeply( tcjdbsearch2( $jdb, 'some' ), [ 42, 99, 65536 ], 'tcjdbsearch2' ); ok( tcjdbsync( $jdb ), 'tcjdbsync' ); @@ -65,7 +69,7 @@ is( tcjdbpath( $jdb ), $path, 'tcjdbpath' ); -is( tcjdbtnum( $jdb ), 13, 'tcjdbtnum' ); +is( tcjdbrnum( $jdb ), 3, 'tcjdbrnum' ); ok( my $file_size = tcjdbfsiz( $jdb ), 'tcjdbfsiz' );