1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
#!perl
use strict;
use warnings;
use Data::Dumper;
use File::Spec;
use lib File::Spec->catdir(qw(t lib));
BEGIN {
lib->import('lib')
if !-d 't';
}
use Sereal::TestSet qw(:all);
use Test::More;
my $ok= have_encoder_and_decoder();
if ( not $ok ) {
plan skip_all => 'Did not find right version of encoder';
}
else {
my $e= Sereal::Encoder->new();
my $d= Sereal::Decoder->new();
my $out;
my $payload= [ 'abcd' x 1024 ];
my $ok= eval { $out= $e->encode($payload); 1 };
my $err= $@ || 'Zombie error';
ok( $ok, "snappy_incr and warn_unknown makes CODE encoding not fail" );
my $decoded;
$ok= eval { $decoded= $d->decode($out); 1 };
$err= $@ || 'Zombie error';
ok( $ok, "snappy_incr and warn_unknown produced decodable output" )
or do {
diag($err);
hobodecode($out) if $ENV{DEBUG_SEREAL};
};
is_deeply( $decoded, $payload, 'results matches' );
}
pass();
done_testing();
|