#!/bin/sh # # Common - Elements shared by all regression tests for qpkg # # Written 2010 by Werner Almesberger # Copyright 2010 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. # qpkg() { echo -n "$1: " 1>&2 shift cat >_in $VALGRIND ${QPKG:-../qpkg} _in "$@" >_out 2>&1 || { echo FAILED "($SCRIPT)" 1>&2 cat _out rm -f _in _out exit 1 } rm -f _in } qpkg_fail() { echo -n "$1: " 1>&2 shift cat >_in $VALGRIND ${QPKG:-../qpkg} _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 "$QPKG" -a "$QPKG" = "${QPKG#/}" ]; then QPKG="$CWD_PREFIX/$QPKG" fi