#!/bin/sh # -*- perl -*- : ${PERL=perl} : ${srcdir=.} $PERL -e 1 > /dev/null 2>&1 || { echo 1>&2 "$0: configure didn't find a usable version of Perl," \ "so can't run this test" exit 77 } SCRIPT_NAME=$0 export SCRIPT_NAME exec $PERL -w -I$srcdir/.. -MFetish -- - <<\EOF require 5.003; use strict; (my $program_name = $0) =~ s|.*/||; # Turn off localisation of executable's ouput. @ENV{qw(LANGUAGE LANG LC_ALL)} = ('C') x 3; my $out = 'out'; my $script_name = $ENV{SCRIPT_NAME}; my @Tests = ( [ 'skip-seek-1', 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}]}, ], [ 'skip-seek-2', 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}]}, ], [ 'skip-seek-3', 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}]}, ], [ # Before fileutils-4.0.45, the last 10 bytes of output # were these "\0\0\0\0\0\0\0\0 ". '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"}, ], ); my $save_temps = $ENV{DEBUG}; my $verbose = $ENV{VERBOSE}; my $prog = $ENV{PROG} || die "$0: \$PROG not specified in environment\n"; my $fail = run_tests ($program_name, $prog, \@Tests, $save_temps, $verbose); exit $fail; EOF