]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/runscript-test
ebl Remove debug level
[bacula/bacula] / regress / tests / runscript-test
1 #!/bin/sh
2 #
3 #  Test RunScript
4 #
5
6 TestName="runscript-test"
7 JobName=backup
8
9 . scripts/functions
10 copy_test_confs
11
12 rm -f bin/bacula-dir.conf
13 rm -f ${cwd}/tmp/RUN*log
14 rm -f ${cwd}/tmp/RUN_FD_FAILED
15
16 touch ${cwd}/tmp/log1.out
17 /bin/cp -f scripts/bacula-dir.conf.testrunscript bin/bacula-dir.conf
18
19 echo "${cwd}/build/po" >${cwd}/tmp/file-list
20
21 start_test
22
23 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
24 @$out /dev/null
25 messages
26 label volume=TestVolume001 pool=Scratch
27 @$out ${cwd}/tmp/RUN_FD_WARNING.log
28 run job=RUN_FD_WARNING yes
29 wait
30 messages
31 @sleep 1
32 @$out ${cwd}/tmp/RUN_ALL_OK.log
33 run job=RUN_ALL_OK yes
34 wait
35 messages
36 @sleep 1
37 @$out ${cwd}/tmp/RUN_FD_FAILED.log
38 run job=RUN_FD_FAILED yes
39 wait
40 messages
41 @sleep 1
42 @$out ${cwd}/tmp/RUN_DIR_FAILED.log
43 run job=RUN_DIR_FAILED yes
44 wait
45 messages
46 @sleep 1
47 @$out ${cwd}/tmp/RUN_FD_FAILED2.log
48 run job=RUN_FD_FAILED2 yes
49 wait
50 messages
51 @sleep 1
52 @$out ${cwd}/tmp/RUN_RESTO.log
53 restore where=${cwd}/tmp/bacula-restores select all done yes
54 wait
55 messages
56 st dir
57 quit
58 END_OF_DATA
59
60 run_bacula
61 check_for_zombie_jobs storage=File
62 stop_bacula
63
64 dstat=0
65 bstat=0
66 rstat=0
67 export dstat
68 export bstat
69 export rstat
70
71 grep 'shell command: run BeforeJob "/bin/echo RunBeforeJob"' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
72 a=$?
73 grep 'ClientRunBeforeJob: ClientRunBeforeJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
74 b=$?
75 grep 'shell command: run ClientAfterJob "/bin/echo ClientRunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
76 c=$?
77 grep 'shell command: run AfterJob "/bin/echo RunAfterJob' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
78 d=$?
79 grep 'ClientRunBefore1' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null && \
80 grep 'ClientRunBefore2' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null && \
81 grep 'ClientRunBefore3' ${cwd}/tmp/RUN_ALL_OK.log >/dev/null
82 e=$?
83
84 if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 -a $e = 0 ]
85 then
86    [ "$debug" = 1 ] && echo RUN_ALL_OK ok
87 else
88    echo "RUN_ALL_OK in error"
89    bstat=1
90 fi
91
92 grep 'shell command: run BeforeJob "/bin/false RUN_DIR_FAILED"' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null
93 a=$?
94 grep 'AfterJob: RunAfterFailedJob' ${cwd}/tmp/RUN_DIR_FAILED.log >/dev/null
95 b=$?
96 if [ $a = 0 -a $b = 0 ]
97 then
98    [ "$debug" = 1 ] && echo RUN_DIR_FAILED ok
99 else
100    echo "RUN_DIR_FAILED in error"
101    bstat=1
102 fi
103
104 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
105 a=$?
106 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
107 b=$?
108 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
109 c=$?
110 grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
111 d=$?
112 grep 'touching' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
113 e=$?
114 grep '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED.log >/dev/null
115 f=$?
116 if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 -a $e = 0 -a $f = 0 ]
117 then
118    [ "$debug" = 1 ] && echo RUN_FD_FAILED ok
119 else
120    echo "RUN_FD_FAILED in error a=$a b=$b c=$c d=$d e=$e f=$f"
121    bstat=1
122 fi
123
124 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED1"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
125 a=$?
126 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED2"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
127 b=$?
128 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_FAILED3"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
129 c=$?
130 grep 'shell command: run AfterJob "/bin/echo RunAfterFailedJob"' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
131 d=$?
132 grep  '*** Backup Error ***' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
133 e=$?
134 grep 'RUN_FD_FAILED4' ${cwd}/tmp/RUN_FD_FAILED2.log >/dev/null
135 f=$?
136 if [ $a = 0 -a $b != 0 -a $c = 0 -a $d = 0 -a $e = 0 -a $f != 0 ]
137 then
138    [ "$debug" = 1 ] && echo RUN_FD_FAILED ok
139 else
140    echo "RUN_FD_FAILED2 in error a=$a b=$b c=$d d=$d e=$e"
141    bstat=1
142 fi
143
144 grep 'shell command: run ClientBeforeJob "/bin/false RUN_FD_WARNING"' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
145 a=$?
146 grep 'RunAfterFailedJob' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
147 b=$?
148 grep 'Backup OK -- with warnings' ${cwd}/tmp/RUN_FD_WARNING.log >/dev/null
149 c=$?
150 if [ $a = 0 -a $b != 0 -a $c = 0 ]
151 then
152    [ "$debug" = 1 ] && echo RUN_FD_WARNING ok
153 else
154    echo "RUN_FD_WARNING in error"
155    bstat=1
156 fi
157
158 grep 'ClientBeforeRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
159 a=$?
160 grep 'ClientAfterRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
161 b=$?
162 grep 'DirBeforeRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
163 c=$?
164 grep 'DirAfterRestore' ${cwd}/tmp/RUN_RESTO.log >/dev/null
165 d=$?
166 if [ $a = 0 -a $b = 0 -a $c = 0 -a $d = 0 ]
167 then
168    [ "$debug" = 1 ] && echo RUN_RESTO ok
169 else
170    echo "RUN_RESTO in error"
171    rstat=1
172 fi
173
174
175 end_test