summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@suse.de>2010-04-12 17:19:33 +0200
committerAndreas Gruenbacher <agruen@suse.de>2010-04-12 17:19:33 +0200
commitc86f4a2c80537a412fb7c34a2b1ba273f0eb0d18 (patch)
tree44e4c156df4588ce9e5c52df30b9aa5426a071ad /tests
parent7fa8417c05f8d56b0c6b09412be7a52c30212c32 (diff)
downloadpatch-c86f4a2c80537a412fb7c34a2b1ba273f0eb0d18.tar.gz
Portability fixes
* tests/test-lib.sh: Some versions of mktemp require a filename template; use one. Provide a seq replacement on platforms which don't have seq.
Diffstat (limited to 'tests')
-rw-r--r--tests/test-lib.sh29
1 files changed, 28 insertions, 1 deletions
diff --git a/tests/test-lib.sh b/tests/test-lib.sh
index d21ff16..10e6bdc 100644
--- a/tests/test-lib.sh
+++ b/tests/test-lib.sh
@@ -27,7 +27,7 @@ have_ed() {
}
use_tmpdir() {
- tmpdir=`mktemp -d`
+ tmpdir=`mktemp -d ${TMPDIR:-/tmp}/patch.XXXXXXXXXX`
if test -z "$tmpdir" ; then
echo "This test requires the mktemp utility" >&2
exit 2
@@ -120,6 +120,33 @@ else
}'
fi
+# The seq utility is not universally available -- provide a replacement.
+if ! type seq > /dev/null 2> /dev/null; then
+ seq() {(
+ case $# in
+ 0) echo "seq: missing operand" >&2
+ return 1 ;;
+ 1) set -- 1 1 $1 ;;
+ 2) set -- $1 1 $2 ;;
+ 3) ;;
+ *) echo "seq: extra operands" >&2
+ return 1 ;;
+ esac
+
+ i=$1
+ if test $2 -gt 0; then
+ op=-le
+ else
+ op=-ge
+ fi
+
+ while test $i $op $3; do
+ echo $i
+ i=`expr $i + $2`
+ done
+ )}
+fi
+
require_cat
clean_env