1e6d6c189SCody Peter Mello#!/bin/bash 2e6d6c189SCody Peter Mello 3e6d6c189SCody Peter Melloif [[ -z "$AWK" || -z "$WORKDIR" ]]; then 4e6d6c189SCody Peter Mello printf '$AWK and $WORKDIR must be set\n' >&2 5e6d6c189SCody Peter Mello exit 1 6e6d6c189SCody Peter Mellofi 7e6d6c189SCody Peter Mello 8e6d6c189SCody Peter MelloRESULT=0 9e6d6c189SCody Peter Mello 10e6d6c189SCody Peter Mellofail() { 11e6d6c189SCody Peter Mello echo "$1" >&2 12e6d6c189SCody Peter Mello RESULT=1 13e6d6c189SCody Peter Mello} 14e6d6c189SCody Peter Mello 15e6d6c189SCody Peter Melloecho T.-f-f: check multiple -f arguments 16e6d6c189SCody Peter Mello 17e6d6c189SCody Peter MelloTEMP0=$WORKDIR/test.temp.0 18e6d6c189SCody Peter MelloTEMP1=$WORKDIR/test.temp.1 19e6d6c189SCody Peter MelloTEMP2=$WORKDIR/test.temp.2 20e6d6c189SCody Peter MelloTEMP3=$WORKDIR/test.temp.3 21e6d6c189SCody Peter MelloTEMP4=$WORKDIR/test.temp.4 22e6d6c189SCody Peter MelloTEMP5=$WORKDIR/test.temp.5 23*3ee4fc2aSCody Peter MelloTEMP6=$WORKDIR/test.temp.6 24e6d6c189SCody Peter Mello 25e6d6c189SCody Peter Melloecho 'begin 26e6d6c189SCody Peter Melloend' > $TEMP0 27e6d6c189SCody Peter Melloecho 'BEGIN { print "begin" }' > $TEMP1 28e6d6c189SCody Peter Melloecho 'END { print "end" }' > $TEMP2 29e6d6c189SCody Peter Melloecho xxx | $AWK -f $TEMP1 -f $TEMP2 > $TEMP3 30e6d6c189SCody Peter Mellodiff $TEMP0 $TEMP3 || fail 'BAD: T.-f-f multiple -fs' 31e6d6c189SCody Peter Mello 32e6d6c189SCody Peter Mello 33e6d6c189SCody Peter Melloecho '/a/' | $AWK -f - /etc/passwd > $TEMP1 34e6d6c189SCody Peter Mello$AWK '/a/' /etc/passwd > $TEMP2 35e6d6c189SCody Peter Mellodiff $TEMP1 $TEMP2 || fail 'BAD: T.-f-f -f -' 36e6d6c189SCody Peter Mello 37e6d6c189SCody Peter Mello 38e6d6c189SCody Peter Mellocp /etc/passwd $TEMP1 39e6d6c189SCody Peter Melloecho '/./ {' > $TEMP2 40e6d6c189SCody Peter Melloecho 'print' > $TEMP3 41e6d6c189SCody Peter Melloecho '}' > $TEMP4 42e6d6c189SCody Peter Mello$AWK -f $TEMP2 -f $TEMP3 -f $TEMP4 /etc/passwd > $TEMP5 43e6d6c189SCody Peter Mellodiff $TEMP1 $TEMP5 || fail 'BAD: T.-f-f 3 files' 44e6d6c189SCody Peter Mello 45*3ee4fc2aSCody Peter Mello 46*3ee4fc2aSCody Peter Melloecho '/./ {' > $TEMP2 47*3ee4fc2aSCody Peter Melloecho 'print' > $TEMP3 48*3ee4fc2aSCody Peter Melloecho ' 49*3ee4fc2aSCody Peter Mello 50*3ee4fc2aSCody Peter Mello 51*3ee4fc2aSCody Peter Mello 52*3ee4fc2aSCody Peter Mello]' > $TEMP4 53*3ee4fc2aSCody Peter Mello$AWK -f $TEMP2 -f $TEMP3 -f $TEMP4 /etc/passwd > $TEMP5 2> $TEMP6 54*3ee4fc2aSCody Peter Mellogrep "syntax error.*file $TEMP4" $TEMP6 >/dev/null 2>&1 || fail 'BAD: T.-f-f source file name' 55*3ee4fc2aSCody Peter Mello 56e6d6c189SCody Peter Melloexit $RESULT 57