summaryrefslogtreecommitdiff
path: root/test/Common
diff options
context:
space:
mode:
Diffstat (limited to 'test/Common')
-rwxr-xr-xtest/Common85
1 files changed, 85 insertions, 0 deletions
diff --git a/test/Common b/test/Common
new file mode 100755
index 0000000..271064b
--- /dev/null
+++ b/test/Common
@@ -0,0 +1,85 @@
+#!/bin/sh
+#
+# Common - Elements shared by all regression tests for fped
+#
+# Written 2010, 2011 by Werner Almesberger
+# Copyright 2010, 2011 Werner Almesberger
+#
+# 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.
+#
+
+
+fped()
+{
+ echo -n "$1: " 1>&2
+ shift
+ cat >_in
+ $VALGRIND ${FPED:-../fped} -T _in "$@" >_out 2>&1 || {
+ echo FAILED "($SCRIPT)" 1>&2
+ cat _out
+ rm -f _in _out
+ exit 1
+ }
+ rm -f _in
+}
+
+
+fped_dump()
+{
+ fped "$@" -T -T
+}
+
+
+fped_fail()
+{
+ echo -n "$1: " 1>&2
+ shift
+ cat >_in
+ $VALGRIND ${FPED:-../fped} -T _in "$@" >_out 2>&1 && {
+ echo FAILED "($SCRIPT)" 1>&2
+ cat _out
+ rm -f _in _out
+ exit 1
+ }
+ rm -f _in
+}
+
+
+expect()
+{
+ diff -u - "$@" _out >_diff || {
+ echo FAILED "($SCRIPT)" 1>&2
+ cat _diff 1>&2
+ rm -f _out _diff
+ exit 1
+ }
+ echo PASSED 1>&2
+ rm -f _out _diff
+ passed=`expr ${passed:-0} + 1`
+}
+
+
+expect_grep()
+{
+ grep "$1" <_out >_tmp || exit 1
+ mv _tmp _out
+ shift
+ expect "$@"
+}
+
+
+expect_sed()
+{
+ sed "$1" <_out >_tmp || exit 1
+ mv _tmp _out
+ shift
+ expect "$@"
+}
+
+
+if [ ! -z "$CWD_PREFIX" -a ! -z "$FPED" -a "$FPED" = "${FPED#/}" ]; then
+ FPED="$CWD_PREFIX/$FPED"
+fi