root / test / daemon-util_unittest.bash @ 12eff9b9
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 |