~patrick-hetu/charms/precise/buildbot-slave/charmhelpers

« back to all changes in this revision

Viewing changes to tests/100_buildbot-slave.config.test

  • Committer: Graham Binns
  • Date: 2012-02-07 13:50:37 UTC
  • mfrom: (3.4.9 bbs)
  • Revision ID: graham@canonical.com-20120207135037-6jrkd32hse6e1dg8
Merged Brad's branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
# Copyright 2012 Canonical Ltd.  This software is licensed under the
 
4
# GNU Affero General Public License version 3 (see the file LICENSE).
 
5
 
 
6
set -e
 
7
 
 
8
teardown() {
 
9
    juju destroy-service buildbot-slave
 
10
    if [ -n "$datadir" ] ; then
 
11
        if [ -f $datadir/passed ]; then
 
12
            rm -r $datadir
 
13
        else
 
14
            echo $datadir preserved
 
15
        fi
 
16
    fi
 
17
}
 
18
trap teardown EXIT
 
19
 
 
20
juju deploy --repository=$PWD/../ local:buildbot-slave
 
21
juju expose buildbot-slave
 
22
 
 
23
for try in `seq 1 600` ; do
 
24
    slave_host=`juju status | tests/get-unit-info buildbot-slave public-address`
 
25
    if [ -z "$slave_host" ] ; then
 
26
        sleep 1
 
27
    else
 
28
        break
 
29
    fi
 
30
done
 
31
 
 
32
if [ -z "$slave_host" ] ; then
 
33
    echo ERROR: status timed out
 
34
    exit 1
 
35
fi
 
36
 
 
37
datadir=`mktemp -d ${TMPDIR:-/tmp}/wget.test.XXXXXXX`
 
38
echo INFO: datadir=$datadir
 
39
 
 
40
#slave_connected=$(
 
41
#    wget --tries=100 --timeout=6 http://$slave_host:9000 -O - \
 
42
#     -a $datadir/wget.log | grep -q 'UP!')
 
43
 
 
44
assert_is_listening() {
 
45
    local port=$1
 
46
    listening=""
 
47
    for try in `seq 1 10` ; do
 
48
        if ! nc $slave_host $port < /dev/null ; then
 
49
            continue
 
50
        fi
 
51
        listening="yes"
 
52
        break
 
53
    done
 
54
 
 
55
    if [ -z "$listening" ] ; then
 
56
       echo "FAIL: not listening on port $port after 10 retries"
 
57
       return 1
 
58
    else
 
59
       echo "PASS: listening on port $port"
 
60
       return 0
 
61
    fi
 
62
}
 
63
 
 
64
assert_is_listening 9000
 
65
 
 
66
touch $datadir/passed
 
67
 
 
68
trap - EXIT
 
69
teardown
 
70
 
 
71
echo INFO: PASS
 
72
exit 0