tangetools/find-first-fail/testsuite
2020-11-12 18:09:42 +01:00

71 lines
1.8 KiB
Bash

#!/bin/bash
test_unexported_function() {
myprog() { perl -e 'exit (shift > 12345678)' "$@"; }
# myprog is a function, so source find-first-fail first
. `which find-first-fail`
echo Find 12345678 in unexported function
find-first-fail myprog
}
test_exported_function() {
myprog() { perl -e 'exit (shift > 12345678)' "$@"; }
# myprog is an exported function
export -f myprog
echo Find 12345678
find-first-fail myprog
}
test_startvalue() {
# exit value changes at 100 and 12345678
myprog() { perl -e '$a=shift;if($a <= 123) { exit 0; }
else { exit ($a <= 12345678) }' "$@"; }
export -f myprog
echo Find 123
find-first-fail myprog
echo Find 12345678
find-first-fail -s 200 myprog
}
test_s_v_12() {
# Multiple options
myprog() { perl -e 'exit (shift > 12)' "$@"; }
export -f myprog
echo Find 12 with progress
find-first-fail -v -s 10 myprog
echo Find 12 with progress quiet
find-first-fail -v -q -s 10 myprog
}
test_file() {
tmp=`tempfile`
echo Header > $tmp
seq 100 >> $tmp
10_to_15() { grep ^10$ $1 && grep ^15$ $1; }
export -f 10_to_15
echo 10..15
find-first-fail -s1 -qf $tmp 10_to_15
echo not 10..15
find-first-fail -s1 -qf $tmp not 10_to_15
rm $tmp
}
test_header() {
tmp=`tempfile`
echo Header > $tmp
seq 10 >> $tmp
echo 1000 >> $tmp
seq 10 >> $tmp
myparser() { perl -ne 'if($_ > 100) { exit 1 }' "$@"; }
export -f myparser
echo Should give:
echo Header
echo 1000
find-first-fail -s1 -f $tmp myparser
}
export -f $(compgen -A function | grep test_)
compgen -A function | grep test_ | LC_ALL=C sort |
parallel --timeout 1000% --tag -k --joblog /tmp/jl-`basename $0` '{} 2>&1'