|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
use strict; |
|
|
|
|
|
(my $program_name = $0) =~ s|.*/||; |
|
|
|
|
|
|
|
|
@ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; |
|
|
my $out = 'out'; |
|
|
|
|
|
my @Tests = |
|
|
( |
|
|
[ |
|
|
'sk-seek1', |
|
|
qw (bs=1 skip=1 seek=2 conv=notrunc count=3 status=noxfer of=@AUX@ < ), |
|
|
{IN=> '0123456789abcdef'}, |
|
|
{AUX=> 'zyxwvutsrqponmlkji'}, |
|
|
{OUT=> ''}, |
|
|
{ERR=> "3+0 records in\n3+0 records out\n"}, |
|
|
{CMP=> ['zy123utsrqponmlkji', {'@AUX@'=> undef}]}, |
|
|
], |
|
|
[ |
|
|
'sk-seek2', |
|
|
qw (bs=5 skip=1 seek=1 conv=notrunc count=1 status=noxfer of=@AUX@ < ), |
|
|
{IN=> '0123456789abcdef'}, |
|
|
{AUX=> 'zyxwvutsrqponmlkji'}, |
|
|
{OUT=> ''}, |
|
|
{ERR=> "1+0 records in\n1+0 records out\n"}, |
|
|
{CMP=> ['zyxwv56789ponmlkji', {'@AUX@'=> undef}]}, |
|
|
], |
|
|
[ |
|
|
'sk-seek3', |
|
|
qw (bs=5 skip=1 seek=1 count=1 status=noxfer of=@AUX@ < ), |
|
|
{IN=> '0123456789abcdef'}, |
|
|
{AUX=> 'zyxwvutsrqponmlkji'}, |
|
|
{OUT=> ''}, |
|
|
{ERR=> "1+0 records in\n1+0 records out\n"}, |
|
|
{CMP=> ['zyxwv56789', {'@AUX@'=> undef}]}, |
|
|
], |
|
|
[ |
|
|
|
|
|
|
|
|
'block-sync-1', qw(ibs=10 cbs=10 status=noxfer), 'conv=block,sync', '<', |
|
|
{IN=> "01234567\nabcdefghijkl\n"}, |
|
|
{OUT=> "01234567 abcdefghij "}, |
|
|
{ERR=> "2+1 records in\n0+1 records out\n1 truncated record\n"}, |
|
|
], |
|
|
[ |
|
|
|
|
|
'sk-seek4', qw(bs=1 skip=1 status=noxfer), |
|
|
{IN_PIPE=> "abc\n"}, |
|
|
{OUT=> "bc\n"}, |
|
|
{ERR=> "3+0 records in\n3+0 records out\n"}, |
|
|
], |
|
|
[ |
|
|
|
|
|
'sk-seek5', |
|
|
qw (bs=1 iseek=1 oseek=2 conv=notrunc count=3 status=noxfer of=@AUX@ < ), |
|
|
{IN=> '0123456789abcdef'}, |
|
|
{AUX=> 'zyxwvutsrqponmlkji'}, |
|
|
{OUT=> ''}, |
|
|
{ERR=> "3+0 records in\n3+0 records out\n"}, |
|
|
{CMP=> ['zy123utsrqponmlkji', {'@AUX@'=> undef}]}, |
|
|
], |
|
|
); |
|
|
|
|
|
my $save_temps = $ENV{DEBUG}; |
|
|
my $verbose = $ENV{VERBOSE}; |
|
|
|
|
|
my $prog = 'dd'; |
|
|
my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); |
|
|
exit $fail; |
|
|
|