}
JobDefs = DefaultJob
}
+Job {
+ Name = RUN_ERR4
+ ClientRunBeforeJob="/bin/sleep 10"
+ RunScript {
+ Command = "/bin/sleep 40"
+ RunsWhen = After
+ RunsOnFailure = Yes
+ }
+ JobDefs = DefaultJob
+}
EOF
change_jobname Client1 $JobName
@$out ${cwd}/tmp/logfile7.out
@################################################################
@# test with a broken runscript and a very long AfterJob
-@# we broke the backup during the ClientRunBeforeJob
-@# Expect: duration > 600
+@# we break the backup during the ClientRunBeforeJob
+@# Expect: duration > 550
@################################################################
run job=RUN_ERR3 yes
@sleep 5
@$out ${cwd}/tmp/logfile8.out
@################################################################
@# test with a broken runscript and a very long AfterJob
-@# we broke the backup during the ClientRunAfterJob
-@# Expect: duration > 600
+@# we break the backup during the ClientRunAfterJob
+@# Expect: duration > 550
+@# print sleep 600
@################################################################
run job=RUN_ERR3 yes
@sleep 20
@$out ${cwd}/tmp/logfile9.out
@################################################################
@# test with a broken runscript and a very long AfterJob
-@# we broke the backup during the backup
-@# Expect: duration > 600
+@# we break the backup during the backup
+@# Expect: duration > 550
+@# print sleep 600
@################################################################
update volume=TestVolume002 volstatus=Used
label volume=TestVolume003 storage=File pool=Default
st dir
wait
messages
+@$out ${cwd}/tmp/logfile10.out
+@################################################################
+@# test with a broken runscript and a short AfterJob
+@# we break the backup during the backup
+@# Expect: print sleep 40
+@################################################################
+update volume=TestVolume003 volstatus=Used
+label volume=TestVolume004 storage=File pool=Default
+update volume=TestVolume004 MaxVolBytes=1MB
+run job=RUN_ERR4 yes
+@sleep 20
+messages
+st dir
+cancel
+yes
+@sleep 5
+messages
+st dir
+wait
+messages
@$out ${cwd}/tmp/logfile20.out
@################################################################
@# test with a broken connexion between DIR/FD
print_debug "Stopping FD"
# stop the bacula-fd and cancel the job
-#kill -STOP $(pidof bacula-fd)
+kill -STOP $(pidof bacula-fd)
cat <<END_OF_DATA >${cwd}/tmp/bconcmds
@$out ${cwd}/tmp/logfile20.out
stop_bacula
# A fileset or runscript error goes fast
+check_duration ${cwd}/tmp/logfile1.out 30
+check_duration ${cwd}/tmp/logfile3.out 30
check_duration ${cwd}/tmp/logfile4.out 30
check_duration ${cwd}/tmp/logfile5.out 30
check_duration ${cwd}/tmp/logfile6.out 30
+check_duration ${cwd}/tmp/logfile8.out 550 gt
+grep 'ClientAfterJob "/bin/sleep 600"' tmp/logfile8.out >/dev/null
+if [ $? -ne 0 ]; then
+ print_debug "Can't find ClientAfterJob"
+ bstat=2
+fi
+
+check_duration ${cwd}/tmp/logfile9.out 550 gt
+grep 'ClientAfterJob "/bin/sleep 600"' tmp/logfile9.out >/dev/null
+if [ $? -ne 0 ]; then
+ print_debug "Can't find ClientAfterJob"
+ bstat=2
+fi
+
+grep 'ClientAfterJob "/bin/sleep 40"' tmp/logfile10.out >/dev/null
+if [ $? -ne 0 ]; then
+ print_debug "Can't find ClientAfterJob"
+ bstat=2
+fi
+
# Verify the broken connection
check_duration ${cwd}/tmp/logfile20.out 400