blob: 35c9acae8893dab2f067f868a63d5caca021f36d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#!/bin/sh
# Run from the installed examples/ dir with a full path to this script.
# If $QPIDD is set, run a private QPIDD and use it.
# If $QPID_HOST or $QPID_PORT are set, use them to connect.
DIR=$PWD
SRC=`dirname $0 | sed 's|^\([^/].*\)|'$PWD'/\1|'`/examples
# Start private broker if QPIDD is set.
if [ -n "$QPIDD" ] ; then
export QPID_PORT=`$QPIDD -dp0` || { echo "Cannot start $QPIDD" ; exit 1; }
trap "$QPIDD -q" EXIT
fi
ARGS="${QPID_HOST:-localhost} $QPID_PORT"
title() { echo ==== $*; eval "$*"; echo ====; }
run() { echo ==== $*; eval "$* $ARGS"; echo ====; }
waitfor() { until grep -a -l "$2" $1 >/dev/null 2>&1 ; do sleep 1 ; done ; }
verify() {
ex=`basename $PWD`
diff -ac verify.out $SRC/$ex/verify.in || {
echo "FAIL: $ex " ; RET=1 ; return 1;
}
}
HEX="[a-fA-F0-9]"
remove_uuid() {
sed "s/$HEX\{8\}-$HEX\{4\}-$HEX\{4\}-$HEX\{4\}-$HEX\{12\}//g" $*
}
# Scripts for each example
direct() {
run ./declare_queues > verify.out
run ./direct_producer >> verify.out
run ./listener >> verify.out
}
fanout() {
run ./declare_queues > verify.out
run ./fanout_producer >>verify.out
run ./listener >>verify.out
}
pub_sub() {
run ./topic_listener | tee topic_listener.out > topic_listener.wait &
waitfor topic_listener.wait "Listening"
run ./topic_publisher > verify.out
wait 2> /dev/null
title "remove_uuid topic_listener.out | sort" >> verify.out
}
request_response() {
run ./server | tee server.out > server.wait &
waitfor server.wait "Waiting"
run ./client | remove_uuid > verify.out
kill %%
wait 2> /dev/null
title "remove_uuid server.out" >> verify.out
}
# FIXME aconway 2007-12-14: put back pub-sub and persistence when fixed.
# Main
EXAMPLES=${*:-direct fanout pub-sub request-response}
for ex in $EXAMPLES ; do
func=`echo $ex | tr - _`
echo "Verifing $ex"
( cd $ex && $func && verify && rm -f *.out *.wait)
done
exit $RET
|