Author: aconway
Date: Fri Nov 9 06:12:09 2007
New Revision: 593531
URL: http://svn.apache.org/viewvc?rev=593531&view=rev
Log:
Functions for scripts that verify examples.
Added:
incubator/qpid/trunk/qpid/cpp/examples/verify_functions (with props)
Added: incubator/qpid/trunk/qpid/cpp/examples/verify_functions
URL:
http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/examples/verify_functions?rev=593531&view=auto
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/examples/verify_functions (added)
+++ incubator/qpid/trunk/qpid/cpp/examples/verify_functions Fri Nov 9 06:12:09
2007
@@ -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
+}
+
Propchange: incubator/qpid/trunk/qpid/cpp/examples/verify_functions
------------------------------------------------------------------------------
svn:executable = *