3 # Test MaxWaitTime, MaxRunTime and MaxStartDelay
6 TestName="maxtime-test"
13 rm -f ${cwd}/tmp/RUN*log
14 cp -f ${cwd}/scripts/bacula-dir.conf.maxtime ${cwd}/bin/bacula-dir.conf
15 WHEN=`date '+%Y-%m-%d %H:%M:%S'`
17 echo "${cwd}/build/po" >${cwd}/tmp/file-list
21 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
22 @$out ${cwd}/tmp/log1.out
24 label volume=TestVolume001 pool=PoolA
25 @$out ${cwd}/tmp/RUN_MAXTIME.log
26 @# no media => have to wait
27 run job=RUN_MAXWAITTIME pool=Default yes
29 @# storage is used by RUN_MAXWAITTIME => have to wait
30 run job=RUN_MAXSTARTDELAY pool=PoolA when="$WHEN" yes
32 label volume=TestVolume002 pool=Default
36 run job=RUN_MAXRUNTIME pool=PoolA yes
43 (mkfifo ${cwd}/tmp/fifo
44 mkfifo ${cwd}/tmp/fifo2
45 mkfifo ${cwd}/tmp/fifo3) 2> /dev/null
48 check_for_zombie_jobs storage=File
51 rm -f ${cwd}/tmp/fifo ${cwd}/tmp/fifo2 ${cwd}/tmp/fifo3
56 touch ${cwd}/tmp/log2.out
58 grep -e '1: Fatal error: Max wait time exceeded. Job canceled.' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null
61 [ "$debug" = 1 ] && echo MAXWAITTIME ok
63 echo "MAXWAITTIME in error"
67 grep -e '2: Fatal error: Job canceled because max start delay time exceeded.' ${cwd}/tmp/RUN_MAXTIME.log > /dev/null
70 grep -e 'NEVER start this' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null
73 if [ $f -eq 0 -a $s -ne 0 ]
75 [ "$debug" = 1 ] && echo MAXSTARTDELAY ok
77 echo "MAXSTARTDELAY in error"
81 grep -e '3: Fatal error: Max run time exceeded. Job canceled.' ${cwd}/tmp/RUN_MAXTIME.log >/dev/null
84 [ "$debug" = 1 ] && echo MAXRUNTIME ok
86 echo "MAXRUNTIME in error"