mirror of
https://github.com/moparisthebest/pacman
synced 2025-03-11 07:31:04 -04:00
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:
parent
29c0d8233b
commit
f1e010a5a7
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user