test_vmcd.sh.in 1.57 KB
Newer Older
Timothy Stack's avatar
 
Timothy Stack committed
1 2
#! /bin/sh

Timothy Stack's avatar
Timothy Stack committed
3 4 5 6 7 8
#
# EMULAB-COPYRIGHT
# Copyright (c) 2005 University of Utah and the Flux Group.
# All rights reserved.
#

Timothy Stack's avatar
 
Timothy Stack committed
9 10 11 12 13 14 15 16 17
## Variables

# The full path of the test case
test_file=$1
# The base name of the test case
test_file_base="test_vmcd.sh"
# The current test number for shell based tests.
test_num=0

Timothy Stack's avatar
 
Timothy Stack committed
18
# SRCDIR=@srcdir@
Timothy Stack's avatar
 
Timothy Stack committed
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
VMC1_PORT=6566

## Helper functions

run_test() {
    echo "run_test: $*"
    $* > ${test_file_base}_${test_num}.tmp 2>&1
}

check_output() {
    diff -u - ${test_file_base}_${test_num}.tmp
    if test $? -ne 0; then
	echo $1
	exit 1
    fi
    test_num=`expr ${test_num} \+ 1`
}

##

# Start the daemons vmcd depends on:

../emc/emcd -l `pwd`/test_emcd.log \
    -i `pwd`/test_emcd.pid \
Timothy Stack's avatar
 
Timothy Stack committed
43
    -U /tmp/$USER.emcd \
Timothy Stack's avatar
 
Timothy Stack committed
44 45 46 47 48 49
    -s ops \
    -c `realpath ${SRCDIR}/test_emcd.config`

vmc-client -l `pwd`/test_vmc-client1.log \
    -i `pwd`/test_vmc-client1.pid \
    -p ${VMC1_PORT} \
Timothy Stack's avatar
 
Timothy Stack committed
50
    -f ${SRCDIR}/test_vmcd.pos \
Timothy Stack's avatar
 
Timothy Stack committed
51 52 53 54 55 56
    foobar

# Start vmcd:

vmcd -l `pwd`/test_vmcd.log \
    -i `pwd`/test_vmcd.pid \
Timothy Stack's avatar
 
Timothy Stack committed
57
    -U /tmp/$USER.emcd \
Timothy Stack's avatar
 
Timothy Stack committed
58
    -c localhost -P ${VMC1_PORT}
Timothy Stack's avatar
 
Timothy Stack committed
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79

cleanup() {
    kill `cat test_vmcd.pid`
    kill `cat test_emcd.pid`
    kill `cat test_vmc-client1.pid`
}

trap 'cleanup' EXIT

sleep 2

newframe() {
    kill -s USR1 `cat test_vmc-client1.pid`
}

newframe

sleep 1

newframe

Timothy Stack's avatar
 
Timothy Stack committed
80
run_test ../mtp/mtp_send -U /tmp/$USER.emcd \
Timothy Stack's avatar
 
Timothy Stack committed
81 82 83 84
    -r emulab -i 1 -c 0 -m "empty" init -- \
    -w -i 1 request-position

check_output "no update?" <<EOF
Timothy Stack's avatar
 
Timothy Stack committed
85
Packet: version 2; role emc
Timothy Stack's avatar
 
Timothy Stack committed
86 87
 opcode:	update-position
  id:		1
Timothy Stack's avatar
 
Timothy Stack committed
88 89
  x:		6.000000
  y:		5.040000
Timothy Stack's avatar
 
Timothy Stack committed
90
  theta:	-1.190796
Timothy Stack's avatar
 
Timothy Stack committed
91
  status:	-1
Timothy Stack's avatar
 
Timothy Stack committed
92
  timestamp:	1.000000
Timothy Stack's avatar
 
Timothy Stack committed
93
EOF