diff options
Diffstat (limited to 'test/Common')
-rwxr-xr-x | test/Common | 85 |
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 |