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
fi
parse_hts() {
tap_parse_hts() {
local input=$1 expected=$2
tap_is_str "$(human_to_size "$input")" "$expected" "$input"
}
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:

View File

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

View File

@ -30,7 +30,7 @@ fi
# args:
# runtest input expected test_description optional_opts
runtest() {
tap_runtest() {
# run the test
tap_diff <(printf "$1" | $bin $4) <(printf "$2") "$3"
}
@ -38,49 +38,49 @@ runtest() {
tap_plan 26
in="1\n2\n3\n4\n"
runtest $in $in "already ordered"
tap_runtest $in $in "already ordered"
in="4\n2\n3\n1\n"
ex="1\n2\n3\n4\n"
runtest $in $ex "easy reordering"
tap_runtest $in $ex "easy reordering"
in="1\n2\n3\n4"
ex="1\n2\n3\n4\n"
runtest $in $ex "add trailing newline"
tap_runtest $in $ex "add trailing newline"
in="1\n2\n4\n3"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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"
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
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"
done
runtest $normal $normal "really long input"
runtest $reverse $normal "really long input"
runtest $reverse $reverse "really long input, reversed" "-r"
runtest $normal $reverse "really long input, reversed" "-r"
tap_runtest $normal $normal "really long input"
tap_runtest $reverse $normal "really long input"
tap_runtest $reverse $reverse "really long input, reversed" "-r"
tap_runtest $normal $reverse "really long input, reversed" "-r"
runtest "$fields" "$fields" "really long input, sort key" "-k3"
runtest "$fields_reverse" "$fields" "really long input, sort key" "-k3"
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" "really long input, sort key" "-k3"
tap_runtest "$fields_reverse" "$fields" "really long input, sort key" "-k3"
tap_runtest "$fields_reverse" "$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|"
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"
runtest "$separator" "$separator_reverse" "really long input, sort key, separator, reversed" "-k 3 -t| -r"
tap_runtest "$separator" "$separator" "really long input, sort key, separator" "-k3 -t|"
tap_runtest "$separator_reverse" "$separator" "really long input, sort key, separator" "-k3 -t|"
tap_runtest "$separator_reverse" "$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

View File

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