[pacman-dev] [PATCH 4/7] provide default values for test scripts
Andrew Gregory
andrew.gregory.8 at gmail.com
Fri Aug 2 08:34:11 EDT 2013
Our test scripts currently require that the first argument be the
library or binary to be tested. This makes integrating them with
automake which doesn't have a mechanism for passing specific arguments
to individual tests. Instead, provide a default built from paths in the
environment which can be provided to all test scripts by automake.
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
---
test/scripts/human_to_size_test.sh | 7 ++++---
test/scripts/parseopts_test.sh | 7 ++++---
test/util/pacsorttest.sh | 15 ++++++---------
test/util/vercmptest.sh | 16 +++++++---------
4 files changed, 21 insertions(+), 24 deletions(-)
diff --git a/test/scripts/human_to_size_test.sh b/test/scripts/human_to_size_test.sh
index 678fa87..6306137 100755
--- a/test/scripts/human_to_size_test.sh
+++ b/test/scripts/human_to_size_test.sh
@@ -3,11 +3,12 @@
declare -i testcount=0 fail=0 pass=0 total=15
# source the library function
-if [[ -z $1 || ! -f $1 ]]; then
- printf "Bail out! path to human_to_size library not provided or does not exist\n"
+lib=${1:-${PMTEST_SCRIPTLIB_DIR}human_to_size.sh}
+if [[ -z $lib || ! -f $lib ]]; then
+ echo "Bail out! human_to_size library ($lib) could not be located\n"
exit 1
fi
-. "$1"
+. "$lib"
if ! type -t human_to_size >/dev/null; then
printf 'Bail out! human_to_size function not found\n'
diff --git a/test/scripts/parseopts_test.sh b/test/scripts/parseopts_test.sh
index 8df1908..5ff4bc5 100755
--- a/test/scripts/parseopts_test.sh
+++ b/test/scripts/parseopts_test.sh
@@ -3,11 +3,12 @@
declare -i testcount=0 pass=0 fail=0 total=25
# source the library function
-if [[ -z $1 || ! -f $1 ]]; then
- printf "Bail out! path to parseopts library not provided or does not exist\n"
+lib=${1:-${PMTEST_SCRIPTLIB_DIR}parseopts.sh}
+if [[ -z $lib || ! -f $lib ]]; then
+ printf "Bail out! parseopts library ($lib) could not be located\n"
exit 1
fi
-. "$1"
+. "$lib"
if ! type -t parseopts >/dev/null; then
printf 'Bail out! parseopts function not found\n'
diff --git a/test/util/pacsorttest.sh b/test/util/pacsorttest.sh
index 0abddc2..ac16c45 100755
--- a/test/util/pacsorttest.sh
+++ b/test/util/pacsorttest.sh
@@ -19,12 +19,17 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# default binary if one was not specified as $1
-bin='pacsort'
+bin=${1:-${PMTEST_UTIL_DIR}pacsort}
# holds counts of tests
total=23
run=0
failure=0
+if ! type -p "$bin"; then
+ echo "Bail out! pacsort binary ($bin) could not be located"
+ exit 1
+fi
+
# args:
# runtest input expected test_description optional_opts
runtest() {
@@ -42,14 +47,6 @@ runtest() {
fi
}
-# use first arg as our binary if specified
-[[ -n "$1" ]] && bin="$1"
-
-if ! type -p "$bin"; then
- echo "Bail out! pacsort binary ($bin) could not be located"
- exit 1
-fi
-
echo "Running pacsort tests..."
echo "1..$total"
diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh
index 9297cdc..a7fd851 100755
--- a/test/util/vercmptest.sh
+++ b/test/util/vercmptest.sh
@@ -18,12 +18,18 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# default binary if one was not specified as $1
-bin='vercmp'
+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"; then
+ echo "Bail out! vercmp binary ($bin) could not be located"
+ exit 1
+fi
+
# args:
# pass ver1 ver2 ret expected
pass() {
@@ -57,14 +63,6 @@ runtest() {
$func $2 $1 $ret $reverse
}
-# use first arg as our binary if specified
-[[ -n "$1" ]] && bin="$1"
-
-if ! type -p "$bin"; then
- echo "Bail out! vercmp binary ($bin) could not be located"
- exit 1
-fi
-
echo "# Running vercmp tests..."
echo "1..$total"
--
1.8.3.4
More information about the pacman-dev
mailing list