Root/qpkg/test/Common

1#!/bin/sh
2#
3# Common - Elements shared by all regression tests for qpkg
4#
5# Written 2010 by Werner Almesberger
6# Copyright 2010 Werner Almesberger
7#
8# This program is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2 of the License, or
11# (at your option) any later version.
12#
13
14
15qpkg()
16{
17    echo -n "$1: " 1>&2
18    shift
19    cat >_in
20    $VALGRIND ${QPKG:-../qpkg} _in "$@" >_out 2>&1 || {
21    echo FAILED "($SCRIPT)" 1>&2
22    cat _out
23    rm -f _in _out
24    exit 1
25    }
26    rm -f _in
27}
28
29
30qpkg_fail()
31{
32    echo -n "$1: " 1>&2
33    shift
34    cat >_in
35    $VALGRIND ${QPKG:-../qpkg} _in "$@" >_out 2>&1 && {
36    echo FAILED "($SCRIPT)" 1>&2
37    cat _out
38    rm -f _in _out
39    exit 1
40    }
41    rm -f _in
42}
43
44
45expect()
46{
47    diff -u - "$@" _out >_diff || {
48    echo FAILED "($SCRIPT)" 1>&2
49    cat _diff 1>&2
50    rm -f _out _diff
51    exit 1
52    }
53    echo PASSED 1>&2
54    rm -f _out _diff
55    passed=`expr ${passed:-0} + 1`
56}
57
58
59expect_grep()
60{
61    grep "$1" <_out >_tmp || exit 1
62    mv _tmp _out
63    shift
64    expect "$@"
65}
66
67
68expect_sed()
69{
70    sed "$1" <_out >_tmp || exit 1
71    mv _tmp _out
72    shift
73    expect "$@"
74}
75
76
77if [ ! -z "$CWD_PREFIX" -a ! -z "$QPKG" -a "$QPKG" = "${QPKG#/}" ]; then
78    QPKG="$CWD_PREFIX/$QPKG"
79fi
80

Archive Download this file

Branches:
master



interactive