X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fp5-File-KDBX;a=blobdiff_plain;f=t%2Fhash-block.t;h=78008ab5d0a08ff09191ecf2c918dc9287fcd2f6;hp=461ad55af90e16ecbd14a962c73c755fdbca4e3b;hb=50f1a929d9224b9072b5fae39162a5d943323c5d;hpb=52cf8dbcf4ded14b1582e905cf034749385624b3 diff --git a/t/hash-block.t b/t/hash-block.t index 461ad55..78008ab 100644 --- a/t/hash-block.t +++ b/t/hash-block.t @@ -8,7 +8,7 @@ use TestCommon qw(:no_warnings_test); use File::KDBX::Util qw(can_fork); use IO::Handle; -use PerlIO::via::File::KDBX::HashBlock; +use File::KDBX::IO::HashBlock; use Test::More; { @@ -16,12 +16,11 @@ use Test::More; pipe(my $read, my $write) or die "pipe failed: $!\n"; - PerlIO::via::File::KDBX::HashBlock->push($write, block_size => 3); + $write = File::KDBX::IO::HashBlock->new($write, block_size => 3); print $write $expected_plaintext; - binmode($write, ':pop'); # finish stream close($write) or die "close failed: $!"; - PerlIO::via::File::KDBX::HashBlock->push($read); + $read = File::KDBX::IO::HashBlock->new($read); my $plaintext = do { local $/; <$read> }; close($read); @@ -33,40 +32,39 @@ SKIP: { my $expected_plaintext = "\x64" x (1024*1024*12 - 57); + local $SIG{CHLD} = 'IGNORE'; pipe(my $read, my $write) or die "pipe failed: $!\n"; defined(my $pid = fork) or die "fork failed: $!\n"; if ($pid == 0) { - PerlIO::via::File::KDBX::HashBlock->push($write); + $write = File::KDBX::IO::HashBlock->new($write); print $write $expected_plaintext; - binmode($write, ':pop'); # finish stream close($write) or die "close failed: $!"; - exit; + # exit; + require POSIX; + POSIX::_exit(0); } - PerlIO::via::File::KDBX::HashBlock->push($read); + $read = File::KDBX::IO::HashBlock->new($read); my $plaintext = do { local $/; <$read> }; close($read); is $plaintext, $expected_plaintext, 'Hash-block a lot'; - - waitpid($pid, 0) or die "wait failed: $!\n"; } subtest 'Error handling' => sub { pipe(my $read, my $write) or die "pipe failed: $!\n"; - PerlIO::via::File::KDBX::HashBlock->push($read); + $read = File::KDBX::IO::HashBlock->new($read); print $write 'blah blah blah'; close($write) or die "close failed: $!"; - is $read->error, 0, 'Read handle starts out fine'; + is $read->error, '', 'Read handle starts out fine'; my $data = do { local $/; <$read> }; - is $read->error, 1, 'Read handle can enter and error state'; + is $read->error, 1, 'Read handle can enter an error state'; - like $PerlIO::via::File::KDBX::HashBlock::ERROR, qr/invalid block index/i, - 'Error object is available'; + like $File::KDBX::IO::HashBlock::ERROR, qr/invalid block index/i, 'Error object is available'; }; done_testing;