diff options
Diffstat (limited to 'test/util')
| -rwxr-xr-x | test/util/pacsorttest.sh | 90 | ||||
| -rwxr-xr-x | test/util/vercmptest.sh | 151 | 
2 files changed, 92 insertions, 149 deletions
| diff --git a/test/util/pacsorttest.sh b/test/util/pacsorttest.sh index 49d6d8ed..f42c8fd5 100755 --- a/test/util/pacsorttest.sh +++ b/test/util/pacsorttest.sh @@ -18,85 +18,69 @@  #   You should have received a copy of the GNU General Public License  #   along with this program.  If not, see <http://www.gnu.org/licenses/>. +source "$(dirname "$0")"/../tap.sh || exit 1 +  # default binary if one was not specified as $1  bin=${1:-${PMTEST_UTIL_DIR}pacsort} -# holds counts of tests -total=26 -run=0 -failure=0  if ! type -p "$bin" &>/dev/null; then -	echo "Bail out! pacsort binary ($bin) could not be located" +	tap_bail "pacsort binary ($bin) could not be located"  	exit 1  fi  # args:  # runtest input expected test_description optional_opts -runtest() { +tap_runtest() {  	# run the test -	((run++)) -	out=$(diff -u <(printf "$1" | $bin $4) <(printf "$2")) -	if [[ $? -eq 0 ]]; then -		echo "ok $run - $3" -	else -		((failure++)) -		echo "not ok $run - $3" -		while read line; do -			echo "    # $line" -		done <<<"$out" -	fi +	tap_diff <(printf "$1" | $bin $4) <(printf "$2") "$3"  } -echo "# Running pacsort tests..." - -echo "1..$total" - -# BEGIN TESTS +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 @@ -109,27 +93,21 @@ 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" -#END TESTS - -if [[ $failure -eq 0 ]]; then -	echo "# All $run tests successful" -	exit 0 -fi +tap_finish -echo "# $failure of $run tests failed" -exit 1 +# vim: set noet: diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh index 9032cbf9..04edb155 100755 --- a/test/util/vercmptest.sh +++ b/test/util/vercmptest.sh @@ -18,136 +18,101 @@  #   You should have received a copy of the GNU General Public License  #   along with this program.  If not, see <http://www.gnu.org/licenses/>. +source "$(dirname "$0")"/../tap.sh || exit 1 +  # default binary if one was not specified as $1  bin=${1:-${PMTEST_UTIL_DIR}vercmp} -# holds counts of tests -total=92 -run=0 -failure=0  # use first arg as our binary if specified  if ! type -p "$bin" &>/dev/null; then -	echo "Bail out! vercmp binary ($bin) could not be located" +	tap_bail "vercmp binary ($bin) could not be located"  	exit 1  fi  # args: -# pass ver1 ver2 ret expected -pass() { -	echo "ok $run - ver1: $1 ver2: $2 ret: $3" -} - -# args: -# fail ver1 ver2 ret expected -fail() { -	echo "not ok $run - test: ver1: $1 ver2: $2 ret: $3 expected: $4" -	((failure++)) -} - -# args:  # runtest ver1 ver2 expected -runtest() { -	# run the test -	((run++)) -	ret=$($bin $1 $2) -	func='pass' -	[[ -n $ret && $ret -eq $3 ]] || func='fail' -	$func $1 $2 $ret $3 +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 -	((run++)) -	reverse=0 -	[[ $3 -eq 1 ]] && reverse=-1 -	[[ $3 -eq -1 ]] && reverse=1 -	ret=$($bin $2 $1) -	func='pass' -	[[ -n $ret && $ret -eq $reverse ]] || func='fail' -	$func $2 $1 $ret $reverse +	(( exp *= -1 )) +	tap_is_str "$($bin "$ver2" "$ver1")" "$exp" "$ver2 $ver1"  } -echo "# Running vercmp tests..." - -echo "1..$total" - -# BEGIN TESTS +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 - -#END TESTS - -if [[ $failure -eq 0 ]]; then -	echo "# All $run tests successful" -	exit 0 -fi +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 -echo "# $failure of $run tests failed" -exit 1 +# vim: set noet: | 
