summaryrefslogtreecommitdiff
path: root/qpid
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2007-11-09 14:12:09 +0000
committerAlan Conway <aconway@apache.org>2007-11-09 14:12:09 +0000
commit5bb7601bd7f87f1d3c414145d2e10d2f553aec08 (patch)
tree395fa7f92dde3542b9438c446d7fe9230c01096a /qpid
parent2f0775218b8767e6d76ec2c9b8a823e64ab7a9a2 (diff)
downloadqpid-python-5bb7601bd7f87f1d3c414145d2e10d2f553aec08.tar.gz
Functions for scripts that verify examples.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk@593531 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid')
-rwxr-xr-xqpid/cpp/examples/verify_functions50
1 files changed, 50 insertions, 0 deletions
diff --git a/qpid/cpp/examples/verify_functions b/qpid/cpp/examples/verify_functions
new file mode 100755
index 0000000000..15bf34f048
--- /dev/null
+++ b/qpid/cpp/examples/verify_functions
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+new_tag() {
+ for t in $TAGS; do
+ if test "$t" = "$1"; then
+ echo "Duplicate tag $t" 1>&2 ; exit 1
+ fi
+ done
+ TAGS="$TAGS $tag"
+}
+
+# Usage: run tag program args ...
+# Runs 'program args ...' with output to tag.out and tag.err
+run() {
+ tag=$1; shift
+ test -n "$*" || { echo "No command for tag: $tag" 1>&2; exit 1; }
+ new_tag $tag
+ rm -f $tag.out $tag.err $tag.diff
+ "$@" > $tag.out 2> $tag.err || echo "exit status $?" >> $tag.err &
+}
+
+# Genereate error report
+errors() {
+ for tag in "$@"; do
+ DIFF=`diff $tag.out $tag.expect 2>&1` || {
+ echo "==== $tag.out != $tag.expect ===="
+ echo $DIFF
+ }
+ test -s $tag.err && {
+ echo "==== $tag.err ===="
+ cat $tag.err
+ }
+ done
+}
+
+# Wait for processes, verify output.
+# Verifies tag.expect == tag.out and ! tag.err for each tag,
+# creates errors.txt if there are any discrepancies.
+#
+verify() {
+ wait
+ rm -f errors.txt
+ ERRORS=`errors $TAGS`
+ if test -n "$ERRORS"; then
+ echo "$ERRORS" 1>&2
+ return 1
+ fi
+ return 0
+}
+