add tap_ prefix to test helper functions

Allows tap.sh to show the line number where the helper function was
called on failures.

Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Andrew Gregory 2014-12-23 16:16:08 -05:00 committed by Allan McRae
parent 29c0d8233b
commit f1e010a5a7
4 changed files with 119 additions and 119 deletions

View file

@ -15,43 +15,43 @@ if ! type -t human_to_size &>/dev/null; then
exit 1 exit 1
fi fi
parse_hts() { tap_parse_hts() {
local input=$1 expected=$2 local input=$1 expected=$2
tap_is_str "$(human_to_size "$input")" "$expected" "$input" tap_is_str "$(human_to_size "$input")" "$expected" "$input"
} }
tap_plan 15 tap_plan 15
# parse_hts <input> <expected output> # tap_parse_hts <input> <expected output>
parse_hts '1MiB' 1048576 tap_parse_hts '1MiB' 1048576
parse_hts '10XiB' '' tap_parse_hts '10XiB' ''
parse_hts '10 MiB' 10485760 tap_parse_hts '10 MiB' 10485760
parse_hts '10 XiB' '' tap_parse_hts '10 XiB' ''
parse_hts '.1 TiB' 109951162778 tap_parse_hts '.1 TiB' 109951162778
parse_hts ' -3 KiB ' -3072 tap_parse_hts ' -3 KiB ' -3072
parse_hts 'foo3KiB' '' tap_parse_hts 'foo3KiB' ''
parse_hts '3KiBfoo' '' tap_parse_hts '3KiBfoo' ''
parse_hts '3kib' '' tap_parse_hts '3kib' ''
parse_hts '+1KiB' 1024 tap_parse_hts '+1KiB' 1024
parse_hts '+1.0 KiB' 1024 tap_parse_hts '+1.0 KiB' 1024
parse_hts '1MB' 1000000 tap_parse_hts '1MB' 1000000
parse_hts '1M' 1048576 tap_parse_hts '1M' 1048576
parse_hts ' 1 G ' 1073741824 tap_parse_hts ' 1 G ' 1073741824
parse_hts '1Q' '' tap_parse_hts '1Q' ''
# vim: set noet: # vim: set noet:

View file

@ -23,7 +23,7 @@ OPT_LONG=('allsource' 'asroot' 'ignorearch' 'check' 'clean:' 'cleanall' 'nodeps'
'repackage' 'skipinteg' 'sign' 'source' 'syncdeps' 'version' 'config:' 'repackage' 'skipinteg' 'sign' 'source' 'syncdeps' 'version' 'config:'
'noconfirm' 'noprogressbar') 'noconfirm' 'noprogressbar')
parse() { tap_parse() {
local result=$1 tokencount=$2; shift 2 local result=$1 tokencount=$2; shift 2
parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@" 2>/dev/null parseopts "$OPT_SHORT" "${OPT_LONG[@]}" -- "$@" 2>/dev/null
tap_is_int "${#OPTRET[@]}" "$tokencount" "$* - tokencount" tap_is_int "${#OPTRET[@]}" "$tokencount" "$* - tokencount"
@ -33,83 +33,83 @@ parse() {
tap_plan 50 tap_plan 50
# usage: parse <expected result> <token count> test-params... # usage: tap_parse <expected result> <token count> test-params...
# a failed parse will match only the end of options marker '--' # a failed tap_parse will match only the end of options marker '--'
# no options # no options
parse '--' 1 tap_parse '--' 1
# short options # short options
parse '-s -r --' 3 -s -r tap_parse '-s -r --' 3 -s -r
# short options, no spaces # short options, no spaces
parse '-s -r --' 3 -sr tap_parse '-s -r --' 3 -sr
# short opt missing an opt arg # short opt missing an opt arg
parse '--' 1 -s -p tap_parse '--' 1 -s -p
# short opt with an opt arg # short opt with an opt arg
parse '-p PKGBUILD -L --' 4 -p PKGBUILD -L tap_parse '-p PKGBUILD -L --' 4 -p PKGBUILD -L
# short opt with an opt arg, no space # short opt with an opt arg, no space
parse '-p PKGBUILD --' 3 -pPKGBUILD tap_parse '-p PKGBUILD --' 3 -pPKGBUILD
# valid shortopts as a long opt # valid shortopts as a long opt
parse '--' 1 --sir tap_parse '--' 1 --sir
# long opt with no optarg # long opt with no optarg
parse '--log --' 2 --log tap_parse '--log --' 2 --log
# long opt with missing optarg # long opt with missing optarg
parse '--' 1 -sr --pkg tap_parse '--' 1 -sr --pkg
# long opt with optarg # long opt with optarg
parse '--pkg foo --' 3 --pkg foo tap_parse '--pkg foo --' 3 --pkg foo
# long opt with optarg with whitespace # long opt with optarg with whitespace
parse '--pkg foo bar -- baz' 4 --pkg "foo bar" baz tap_parse '--pkg foo bar -- baz' 4 --pkg "foo bar" baz
# long opt with optarg with = # long opt with optarg with =
parse '--pkg foo=bar -- baz' 4 --pkg foo=bar baz tap_parse '--pkg foo=bar -- baz' 4 --pkg foo=bar baz
# long opt with explicit optarg # long opt with explicit optarg
parse '--pkg bar -- foo baz' 5 foo --pkg=bar baz tap_parse '--pkg bar -- foo baz' 5 foo --pkg=bar baz
# long opt with explicit optarg, with whitespace # long opt with explicit optarg, with whitespace
parse '--pkg foo bar -- baz' 4 baz --pkg="foo bar" tap_parse '--pkg foo bar -- baz' 4 baz --pkg="foo bar"
# long opt with explicit optarg that doesn't take optarg # long opt with explicit optarg that doesn't take optarg
parse '--' 1 --force=always -s tap_parse '--' 1 --force=always -s
# long opt with explicit optarg with = # long opt with explicit optarg with =
parse '--pkg foo=bar --' 3 --pkg=foo=bar tap_parse '--pkg foo=bar --' 3 --pkg=foo=bar
# explicit end of options with options after # explicit end of options with options after
parse '-s -r -- foo bar baz' 6 -s -r -- foo bar baz tap_parse '-s -r -- foo bar baz' 6 -s -r -- foo bar baz
# non-option parameters mixed in with options # non-option parameters mixed in with options
parse '-s -r -- foo baz' 5 -s foo baz -r tap_parse '-s -r -- foo baz' 5 -s foo baz -r
# optarg with whitespace # optarg with whitespace
parse '-p foo bar -s --' 4 -p'foo bar' -s tap_parse '-p foo bar -s --' 4 -p'foo bar' -s
# non-option parameter with whitespace # non-option parameter with whitespace
parse '-i -- foo bar' 3 -i 'foo bar' tap_parse '-i -- foo bar' 3 -i 'foo bar'
# successful stem match (opt has no arg) # successful stem match (opt has no arg)
parse '--nocolor --' 2 --nocol tap_parse '--nocolor --' 2 --nocol
# successful stem match (opt has arg) # successful stem match (opt has arg)
parse '--config foo --' 3 --conf foo tap_parse '--config foo --' 3 --conf foo
# ambiguous long opt # ambiguous long opt
parse '--' 1 '--for' tap_parse '--' 1 '--for'
# exact match on a possible stem (--force & --forcever) # exact match on a possible stem (--force & --forcever)
parse '--force --' 2 --force tap_parse '--force --' 2 --force
# exact match on possible stem (opt has optarg) # exact match on possible stem (opt has optarg)
parse '--clean foo --' 3 --clean=foo tap_parse '--clean foo --' 3 --clean=foo
tap_finish tap_finish

View file

@ -30,7 +30,7 @@ fi
# args: # args:
# runtest input expected test_description optional_opts # runtest input expected test_description optional_opts
runtest() { tap_runtest() {
# run the test # run the test
tap_diff <(printf "$1" | $bin $4) <(printf "$2") "$3" tap_diff <(printf "$1" | $bin $4) <(printf "$2") "$3"
} }
@ -38,49 +38,49 @@ runtest() {
tap_plan 26 tap_plan 26
in="1\n2\n3\n4\n" in="1\n2\n3\n4\n"
runtest $in $in "already ordered" tap_runtest $in $in "already ordered"
in="4\n2\n3\n1\n" in="4\n2\n3\n1\n"
ex="1\n2\n3\n4\n" ex="1\n2\n3\n4\n"
runtest $in $ex "easy reordering" tap_runtest $in $ex "easy reordering"
in="1\n2\n3\n4" in="1\n2\n3\n4"
ex="1\n2\n3\n4\n" ex="1\n2\n3\n4\n"
runtest $in $ex "add trailing newline" tap_runtest $in $ex "add trailing newline"
in="1\n2\n4\n3" in="1\n2\n4\n3"
ex="1\n2\n3\n4\n" ex="1\n2\n3\n4\n"
runtest $in $ex "add trailing newline" tap_runtest $in $ex "add trailing newline"
in="1.0-1\n1.0\n1.0-2\n1.0\n" in="1.0-1\n1.0\n1.0-2\n1.0\n"
runtest $in $in "stable sort" tap_runtest $in $in "stable sort"
in="firefox-18.0-2-x86_64.pkg.tar.xz\nfirefox-18.0.1-1-x86_64.pkg.tar.xz\n" in="firefox-18.0-2-x86_64.pkg.tar.xz\nfirefox-18.0.1-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort" "--files" tap_runtest $in $in "filename sort" "--files"
in="firefox-18.0-2\nfirefox-18.0.1-1-x86_64.pkg.tar.xz\n" in="firefox-18.0-2\nfirefox-18.0.1-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with invalid filename" "--files" tap_runtest $in $in "filename sort with invalid filename" "--files"
in="firefox-18.0-2-x86_64.pkg.tar.xz\n/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n" in="firefox-18.0-2-x86_64.pkg.tar.xz\n/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort maybe with leading paths" "--files" tap_runtest $in $in "filename sort maybe with leading paths" "--files"
in="/path1/firefox-18.0-2-x86_64.pkg.tar.xz\n/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n" in="/path1/firefox-18.0-2-x86_64.pkg.tar.xz\n/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with different leading paths" "--files" tap_runtest $in $in "filename sort with different leading paths" "--files"
in="/path2/firefox-18.0-2-x86_64.pkg.tar.xz\n/path1/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n" in="/path2/firefox-18.0-2-x86_64.pkg.tar.xz\n/path1/path2/firefox-18.0.1-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with uneven leading path components" "--files" tap_runtest $in $in "filename sort with uneven leading path components" "--files"
in="firefox-18.0-2-i686.pkg.tar.xz\nfirefox-18.0.1-1-x86_64.pkg.tar.gz\n" in="firefox-18.0-2-i686.pkg.tar.xz\nfirefox-18.0.1-1-x86_64.pkg.tar.gz\n"
runtest $in $in "filename sort with different extensions" "--files" tap_runtest $in $in "filename sort with different extensions" "--files"
in="/packages/dialog-1.2_20131001-1-x86_64.pkg.tar.xz\n/packages/dialog-1:1.2_20130928-1-x86_64.pkg.tar.xz\n" in="/packages/dialog-1.2_20131001-1-x86_64.pkg.tar.xz\n/packages/dialog-1:1.2_20130928-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with epoch" "--files" tap_runtest $in $in "filename sort with epoch" "--files"
in="/packages/dia-log-1:1.2_20130928-1-x86_64.pkg.tar.xz\n/packages/dialog-1.2_20131001-1-x86_64.pkg.tar.xz\n" in="/packages/dia-log-1:1.2_20130928-1-x86_64.pkg.tar.xz\n/packages/dialog-1.2_20131001-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with differing package names and epoch" "--files" tap_runtest $in $in "filename sort with differing package names and epoch" "--files"
in="/packages/systemd-217-1-x86_64.pkg.tar.xz\n/packages/systemd-sysvcompat-217-1-x86_64.pkg.tar.xz\n" in="/packages/systemd-217-1-x86_64.pkg.tar.xz\n/packages/systemd-sysvcompat-217-1-x86_64.pkg.tar.xz\n"
runtest $in $in "filename sort with package names as shared substring" "--files" tap_runtest $in $in "filename sort with package names as shared substring" "--files"
# generate some long input/expected for the next few tests # generate some long input/expected for the next few tests
declare normal reverse names_normal names_reverse declare normal reverse names_normal names_reverse
@ -93,20 +93,20 @@ for ((i=1; i<600; i++)); do
separator_reverse="${separator_reverse}colA|bogus${i}|$((600 - ${i}))\n" separator_reverse="${separator_reverse}colA|bogus${i}|$((600 - ${i}))\n"
done done
runtest $normal $normal "really long input" tap_runtest $normal $normal "really long input"
runtest $reverse $normal "really long input" tap_runtest $reverse $normal "really long input"
runtest $reverse $reverse "really long input, reversed" "-r" tap_runtest $reverse $reverse "really long input, reversed" "-r"
runtest $normal $reverse "really long input, reversed" "-r" tap_runtest $normal $reverse "really long input, reversed" "-r"
runtest "$fields" "$fields" "really long input, sort key" "-k3" tap_runtest "$fields" "$fields" "really long input, sort key" "-k3"
runtest "$fields_reverse" "$fields" "really long input, sort key" "-k3" tap_runtest "$fields_reverse" "$fields" "really long input, sort key" "-k3"
runtest "$fields_reverse" "$fields_reverse" "really long input, sort key, reversed" "-k 3 -r" tap_runtest "$fields_reverse" "$fields_reverse" "really long input, sort key, reversed" "-k 3 -r"
runtest "$fields" "$fields_reverse" "really long input, sort key, reversed" "-k 3 -r" tap_runtest "$fields" "$fields_reverse" "really long input, sort key, reversed" "-k 3 -r"
runtest "$separator" "$separator" "really long input, sort key, separator" "-k3 -t|" tap_runtest "$separator" "$separator" "really long input, sort key, separator" "-k3 -t|"
runtest "$separator_reverse" "$separator" "really long input, sort key, separator" "-k3 -t|" tap_runtest "$separator_reverse" "$separator" "really long input, sort key, separator" "-k3 -t|"
runtest "$separator_reverse" "$separator_reverse" "really long input, sort key, separator, reversed" "-k 3 -t| -r" tap_runtest "$separator_reverse" "$separator_reverse" "really long input, sort key, separator, reversed" "-k 3 -t| -r"
runtest "$separator" "$separator_reverse" "really long input, sort key, separator, reversed" "-k 3 -t| -r" tap_runtest "$separator" "$separator_reverse" "really long input, sort key, separator, reversed" "-k 3 -t| -r"
tap_finish tap_finish

View file

@ -31,7 +31,7 @@ fi
# args: # args:
# runtest ver1 ver2 expected # runtest ver1 ver2 expected
runtest() { tap_runtest() {
local ver1=$1 ver2=$2 exp=$3 local ver1=$1 ver2=$2 exp=$3
tap_is_str "$($bin "$ver1" "$ver2")" "$exp" "$ver1 $ver2" tap_is_str "$($bin "$ver1" "$ver2")" "$exp" "$ver1 $ver2"
# and run its mirror case just to be sure # and run its mirror case just to be sure
@ -42,76 +42,76 @@ runtest() {
tap_plan 92 tap_plan 92
# all similar length, no pkgrel # all similar length, no pkgrel
runtest 1.5.0 1.5.0 0 tap_runtest 1.5.0 1.5.0 0
runtest 1.5.1 1.5.0 1 tap_runtest 1.5.1 1.5.0 1
# mixed length # mixed length
runtest 1.5.1 1.5 1 tap_runtest 1.5.1 1.5 1
# with pkgrel, simple # with pkgrel, simple
runtest 1.5.0-1 1.5.0-1 0 tap_runtest 1.5.0-1 1.5.0-1 0
runtest 1.5.0-1 1.5.0-2 -1 tap_runtest 1.5.0-1 1.5.0-2 -1
runtest 1.5.0-1 1.5.1-1 -1 tap_runtest 1.5.0-1 1.5.1-1 -1
runtest 1.5.0-2 1.5.1-1 -1 tap_runtest 1.5.0-2 1.5.1-1 -1
# with pkgrel, mixed lengths # with pkgrel, mixed lengths
runtest 1.5-1 1.5.1-1 -1 tap_runtest 1.5-1 1.5.1-1 -1
runtest 1.5-2 1.5.1-1 -1 tap_runtest 1.5-2 1.5.1-1 -1
runtest 1.5-2 1.5.1-2 -1 tap_runtest 1.5-2 1.5.1-2 -1
# mixed pkgrel inclusion # mixed pkgrel inclusion
runtest 1.5 1.5-1 0 tap_runtest 1.5 1.5-1 0
runtest 1.5-1 1.5 0 tap_runtest 1.5-1 1.5 0
runtest 1.1-1 1.1 0 tap_runtest 1.1-1 1.1 0
runtest 1.0-1 1.1 -1 tap_runtest 1.0-1 1.1 -1
runtest 1.1-1 1.0 1 tap_runtest 1.1-1 1.0 1
# alphanumeric versions # alphanumeric versions
runtest 1.5b-1 1.5-1 -1 tap_runtest 1.5b-1 1.5-1 -1
runtest 1.5b 1.5 -1 tap_runtest 1.5b 1.5 -1
runtest 1.5b-1 1.5 -1 tap_runtest 1.5b-1 1.5 -1
runtest 1.5b 1.5.1 -1 tap_runtest 1.5b 1.5.1 -1
# from the manpage # from the manpage
runtest 1.0a 1.0alpha -1 tap_runtest 1.0a 1.0alpha -1
runtest 1.0alpha 1.0b -1 tap_runtest 1.0alpha 1.0b -1
runtest 1.0b 1.0beta -1 tap_runtest 1.0b 1.0beta -1
runtest 1.0beta 1.0rc -1 tap_runtest 1.0beta 1.0rc -1
runtest 1.0rc 1.0 -1 tap_runtest 1.0rc 1.0 -1
# going crazy? alpha-dotted versions # going crazy? alpha-dotted versions
runtest 1.5.a 1.5 1 tap_runtest 1.5.a 1.5 1
runtest 1.5.b 1.5.a 1 tap_runtest 1.5.b 1.5.a 1
runtest 1.5.1 1.5.b 1 tap_runtest 1.5.1 1.5.b 1
# alpha dots and dashes # alpha dots and dashes
runtest 1.5.b-1 1.5.b 0 tap_runtest 1.5.b-1 1.5.b 0
runtest 1.5-1 1.5.b -1 tap_runtest 1.5-1 1.5.b -1
# same/similar content, differing separators # same/similar content, differing separators
runtest 2.0 2_0 0 tap_runtest 2.0 2_0 0
runtest 2.0_a 2_0.a 0 tap_runtest 2.0_a 2_0.a 0
runtest 2.0a 2.0.a -1 tap_runtest 2.0a 2.0.a -1
runtest 2___a 2_a 1 tap_runtest 2___a 2_a 1
# epoch included version comparisons # epoch included version comparisons
runtest 0:1.0 0:1.0 0 tap_runtest 0:1.0 0:1.0 0
runtest 0:1.0 0:1.1 -1 tap_runtest 0:1.0 0:1.1 -1
runtest 1:1.0 0:1.0 1 tap_runtest 1:1.0 0:1.0 1
runtest 1:1.0 0:1.1 1 tap_runtest 1:1.0 0:1.1 1
runtest 1:1.0 2:1.1 -1 tap_runtest 1:1.0 2:1.1 -1
# epoch + sometimes present pkgrel # epoch + sometimes present pkgrel
runtest 1:1.0 0:1.0-1 1 tap_runtest 1:1.0 0:1.0-1 1
runtest 1:1.0-1 0:1.1-1 1 tap_runtest 1:1.0-1 0:1.1-1 1
# epoch included on one version # epoch included on one version
runtest 0:1.0 1.0 0 tap_runtest 0:1.0 1.0 0
runtest 0:1.0 1.1 -1 tap_runtest 0:1.0 1.1 -1
runtest 0:1.1 1.0 1 tap_runtest 0:1.1 1.0 1
runtest 1:1.0 1.0 1 tap_runtest 1:1.0 1.0 1
runtest 1:1.0 1.1 1 tap_runtest 1:1.0 1.1 1
runtest 1:1.1 1.1 1 tap_runtest 1:1.1 1.1 1
tap_finish tap_finish