Statistics
| Branch: | Tag: | Revision:

root / test / daemon-util_unittest.bash @ 3b877f08

History | View | Annotate | Download (2.2 kB)

1 571b34f8 Michael Hanselmann
#!/bin/bash
2 571b34f8 Michael Hanselmann
#
3 571b34f8 Michael Hanselmann
4 571b34f8 Michael Hanselmann
# Copyright (C) 2010 Google Inc.
5 571b34f8 Michael Hanselmann
#
6 571b34f8 Michael Hanselmann
# This program is free software; you can redistribute it and/or modify
7 571b34f8 Michael Hanselmann
# it under the terms of the GNU General Public License as published by
8 571b34f8 Michael Hanselmann
# the Free Software Foundation; either version 2 of the License, or
9 571b34f8 Michael Hanselmann
# (at your option) any later version.
10 571b34f8 Michael Hanselmann
#
11 571b34f8 Michael Hanselmann
# This program is distributed in the hope that it will be useful, but
12 571b34f8 Michael Hanselmann
# WITHOUT ANY WARRANTY; without even the implied warranty of
13 571b34f8 Michael Hanselmann
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 571b34f8 Michael Hanselmann
# General Public License for more details.
15 571b34f8 Michael Hanselmann
#
16 571b34f8 Michael Hanselmann
# You should have received a copy of the GNU General Public License
17 571b34f8 Michael Hanselmann
# along with this program; if not, write to the Free Software
18 571b34f8 Michael Hanselmann
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19 571b34f8 Michael Hanselmann
# 02110-1301, USA.
20 571b34f8 Michael Hanselmann
21 571b34f8 Michael Hanselmann
set -e
22 571b34f8 Michael Hanselmann
23 571b34f8 Michael Hanselmann
daemon_util=daemons/daemon-util
24 571b34f8 Michael Hanselmann
25 571b34f8 Michael Hanselmann
err() {
26 571b34f8 Michael Hanselmann
  echo "$@"
27 571b34f8 Michael Hanselmann
  echo 'Aborting'
28 571b34f8 Michael Hanselmann
  exit 1
29 571b34f8 Michael Hanselmann
}
30 571b34f8 Michael Hanselmann
31 571b34f8 Michael Hanselmann
$daemon_util >/dev/null 2>&1 &&
32 571b34f8 Michael Hanselmann
  err "daemon-util succeeded without command"
33 571b34f8 Michael Hanselmann
34 571b34f8 Michael Hanselmann
$daemon_util this-is-an-unimplemented-command >/dev/null 2>&1 &&
35 571b34f8 Michael Hanselmann
  err "daemon-util accepted unimplemented command"
36 571b34f8 Michael Hanselmann
37 571b34f8 Michael Hanselmann
$daemon_util list_start_daemons >/dev/null 2>&1 &&
38 571b34f8 Michael Hanselmann
  err "daemon-util accepted command with underscores"
39 571b34f8 Michael Hanselmann
40 571b34f8 Michael Hanselmann
$daemon_util check-exitcode 0 ||
41 571b34f8 Michael Hanselmann
  err "check-exitcode 0 failed"
42 571b34f8 Michael Hanselmann
43 571b34f8 Michael Hanselmann
for i in 1 2 3 4 20 25 33; do
44 571b34f8 Michael Hanselmann
  $daemon_util check-exitcode $i >/dev/null 2>&1 && rc=0 || rc=$?
45 571b34f8 Michael Hanselmann
  test "$rc" == 1 || err "check-exitcode $i didn't return 1"
46 571b34f8 Michael Hanselmann
done
47 571b34f8 Michael Hanselmann
48 571b34f8 Michael Hanselmann
$daemon_util check-exitcode 11 >/dev/null 2>&1 ||
49 571b34f8 Michael Hanselmann
  err "check-exitcode 11 (not master) didn't return 0"
50 571b34f8 Michael Hanselmann
51 571b34f8 Michael Hanselmann
tmp=$(echo $($daemon_util list-start-daemons))
52 571b34f8 Michael Hanselmann
test "$tmp" == "$(echo ganeti-{noded,masterd,rapi,confd})" ||
53 571b34f8 Michael Hanselmann
  err "list-start-daemons didn't return correct list of daemons"
54 571b34f8 Michael Hanselmann
55 571b34f8 Michael Hanselmann
tmp=$(echo $($daemon_util list-stop-daemons))
56 571b34f8 Michael Hanselmann
test "$tmp" == "$(echo ganeti-{confd,rapi,masterd,noded})" ||
57 571b34f8 Michael Hanselmann
  err "list-stop-daemons didn't return correct list of daemons"
58 571b34f8 Michael Hanselmann
59 571b34f8 Michael Hanselmann
$daemon_util is-daemon-name >/dev/null 2>&1 &&
60 571b34f8 Michael Hanselmann
  err "is-daemon-name didn't require daemon name"
61 571b34f8 Michael Hanselmann
62 571b34f8 Michael Hanselmann
for i in '' '.' '..' '-' 'not-a-daemon'; do
63 571b34f8 Michael Hanselmann
  $daemon_util is-daemon-name "$i" >/dev/null 2>&1 &&
64 571b34f8 Michael Hanselmann
    err "is-daemon-name thinks '$i' is a daemon name"
65 571b34f8 Michael Hanselmann
done
66 571b34f8 Michael Hanselmann
67 571b34f8 Michael Hanselmann
for i in ganeti-{confd,rapi,masterd,noded}; do
68 571b34f8 Michael Hanselmann
  $daemon_util is-daemon-name $i >/dev/null 2>&1 ||
69 571b34f8 Michael Hanselmann
    err "is-daemon-name doesn't think '$i' is a daemon name"
70 571b34f8 Michael Hanselmann
done