From 0ac96d94ec3a8a2f3a3857810dbd9109c5cd3235 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Wed, 2 Jun 2010 13:24:22 -0500 Subject: Move vercmp tests into util/ testing directory Now that not everything is in 'pactest/', we can separate out the parts a bit more and leave the pacman/ directory to be just pactest. Signed-off-by: Dan McGee --- Makefile.am | 4 +- test/pacman/Makefile.am | 3 +- test/pacman/vercmptest.sh | 130 ---------------------------------------------- test/util/Makefile.am | 9 ++++ test/util/vercmptest.sh | 130 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 142 insertions(+), 134 deletions(-) delete mode 100755 test/pacman/vercmptest.sh create mode 100644 test/util/Makefile.am create mode 100755 test/util/vercmptest.sh diff --git a/Makefile.am b/Makefile.am index eb80a5f1..bb7e3a72 100644 --- a/Makefile.am +++ b/Makefile.am @@ -15,12 +15,12 @@ pkgdatadir = ${datadir}/${PACKAGE} dist_pkgdata_DATA = PKGBUILD.proto PKGBUILD-split.proto proto.install ChangeLog.proto # run the pactest test suite and vercmp tests -check-local: test/pacman src/pacman src/util +check-local: test/pacman test/util src/pacman src/util $(PYTHON) $(top_srcdir)/test/pacman/pactest.py --debug=1 \ --test $(top_srcdir)/test/pacman/tests/*.py \ -p $(top_builddir)/src/pacman/pacman rm -rf $(top_builddir)/root - $(SH) $(top_srcdir)/test/pacman/vercmptest.sh \ + $(SH) $(top_srcdir)/test/util/vercmptest.sh \ $(top_builddir)/src/util/vercmp # create the pacman DB and cache directories upon install diff --git a/test/pacman/Makefile.am b/test/pacman/Makefile.am index 64f9a22e..f96ce38a 100644 --- a/test/pacman/Makefile.am +++ b/test/pacman/Makefile.am @@ -8,8 +8,7 @@ check_SCRIPTS = \ pmpkg.py \ pmrule.py \ pmtest.py \ - util.py \ - vercmptest.sh + util.py noinst_SCRIPTS = $(check_SCRIPTS) diff --git a/test/pacman/vercmptest.sh b/test/pacman/vercmptest.sh deleted file mode 100755 index fca06578..00000000 --- a/test/pacman/vercmptest.sh +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/sh -# -# vercmptest - a test suite for the vercmp/libalpm program -# -# Copyright (c) 2008 by Dan McGee -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# default binary if one was not specified as $1 -bin='vercmp' -# holds counts of tests -total=0 -failure=0 - -# args: -# pass ver1 ver2 ret expected -pass() { - #echo "test: ver1: $1 ver2: $2 ret: $3 expected: $4" - #echo " --> pass" - echo -n -} - -# args: -# fail ver1 ver2 ret expected -fail() { - echo "test: ver1: $1 ver2: $2 ret: $3 expected: $4" - echo " ==> FAILURE" - failure=$(expr $failure + 1) -} - -# args: -# runtest ver1 ver2 expected -runtest() { - # run the test - ret=$($bin $1 $2) - func='pass' - [ $ret -eq $3 ] || func='fail' - $func $1 $2 $ret $3 - total=$(expr $total + 1) - # and run its mirror case just to be sure - reverse=0 - [ $3 -eq 1 ] && reverse=-1 - [ $3 -eq -1 ] && reverse=1 - ret=$($bin $2 $1) - func='pass' - [ $ret -eq $reverse ] || func='fail' - $func $2 $1 $ret $reverse - total=$(expr $total + 1) -} - -# use first arg as our binary if specified -[ -n "$1" ] && bin="$1" - -if [ ! $(type -p "$bin") ]; then - echo "vercmp binary ($bin) could not be located" - exit 1 -fi - -echo "Beginning vercmp tests" - -# BEGIN TESTS - -# all similar length, no pkgrel -runtest 1.5.0 1.5.0 0 -runtest 1.5.1 1.5.0 1 - -# mixed length -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 - -# 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 - -# 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 - -# 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 - -# 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 - -# 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 - -# alpha dots and dashes -runtest 1.5.b-1 1.5.b 0 -runtest 1.5-1 1.5.b -1 - -#END TESTS - -echo -if [ $failure -eq 0 ]; then - echo "All $total tests successful" - exit 0 -fi - -echo "$failure of $total tests failed" -exit 1 diff --git a/test/util/Makefile.am b/test/util/Makefile.am new file mode 100644 index 00000000..6e59d8e9 --- /dev/null +++ b/test/util/Makefile.am @@ -0,0 +1,9 @@ +check_SCRIPTS = \ + vercmptest.sh + +noinst_SCRIPTS = $(check_SCRIPTS) + +EXTRA_DIST = \ + $(check_SCRIPTS) + +# vim:set ts=2 sw=2 noet: diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh new file mode 100755 index 00000000..fca06578 --- /dev/null +++ b/test/util/vercmptest.sh @@ -0,0 +1,130 @@ +#!/bin/sh +# +# vercmptest - a test suite for the vercmp/libalpm program +# +# Copyright (c) 2008 by Dan McGee +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# default binary if one was not specified as $1 +bin='vercmp' +# holds counts of tests +total=0 +failure=0 + +# args: +# pass ver1 ver2 ret expected +pass() { + #echo "test: ver1: $1 ver2: $2 ret: $3 expected: $4" + #echo " --> pass" + echo -n +} + +# args: +# fail ver1 ver2 ret expected +fail() { + echo "test: ver1: $1 ver2: $2 ret: $3 expected: $4" + echo " ==> FAILURE" + failure=$(expr $failure + 1) +} + +# args: +# runtest ver1 ver2 expected +runtest() { + # run the test + ret=$($bin $1 $2) + func='pass' + [ $ret -eq $3 ] || func='fail' + $func $1 $2 $ret $3 + total=$(expr $total + 1) + # and run its mirror case just to be sure + reverse=0 + [ $3 -eq 1 ] && reverse=-1 + [ $3 -eq -1 ] && reverse=1 + ret=$($bin $2 $1) + func='pass' + [ $ret -eq $reverse ] || func='fail' + $func $2 $1 $ret $reverse + total=$(expr $total + 1) +} + +# use first arg as our binary if specified +[ -n "$1" ] && bin="$1" + +if [ ! $(type -p "$bin") ]; then + echo "vercmp binary ($bin) could not be located" + exit 1 +fi + +echo "Beginning vercmp tests" + +# BEGIN TESTS + +# all similar length, no pkgrel +runtest 1.5.0 1.5.0 0 +runtest 1.5.1 1.5.0 1 + +# mixed length +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 + +# 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 + +# 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 + +# 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 + +# 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 + +# 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 + +# alpha dots and dashes +runtest 1.5.b-1 1.5.b 0 +runtest 1.5-1 1.5.b -1 + +#END TESTS + +echo +if [ $failure -eq 0 ]; then + echo "All $total tests successful" + exit 0 +fi + +echo "$failure of $total tests failed" +exit 1 -- cgit v1.2.3-70-g09d2