3 # Run a backup of the build directory but force it to have
4 # a comm error, and check that it restarts correctly.
6 TestName="restart-base-job-test"
7 JobName=RestartJobWithBase
11 scripts/copy-test-confs
12 echo "${cwd}/build" >${cwd}/tmp/file-list
14 change_jobname NightlySave $JobName
16 $bperl -e "add_attribute('$conf/bacula-dir.conf', 'Base', 'RestartJob', 'Job', 'RestartJob')"
17 $bperl -e "add_attribute('$conf/bacula-dir.conf', 'Accurate', 'yes', 'Job', 'RestartJob')"
20 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
23 @$out ${cwd}/tmp/log1.out
24 label storage=File volume=TestVolume001
25 run job=$JobName level=Base yes
28 @exec "touch $cwd/build/po/fr.po"
29 setdebug level=0 trace=0 hangup=100 client
30 @#setdebug level=20 dir
34 @$out ${cwd}/tmp/log3.out
41 scripts/check_for_zombie_jobs storage=File
43 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
49 @$out ${cwd}/tmp/log2.out
50 restore where=$tmp/bacula-restores storage=File select all done
58 scripts/check_for_zombie_jobs storage=File
64 nb_B=`awk -F '|' '/RestartJob.+ B.+ B/ { gsub(/,/, "");print $7}' $tmp/log3.out`
65 nb_F=`awk -F '|' '/RestartJob.+F/ { gsub(/,/, ""); print $7}' $tmp/log3.out`
67 if [ $nb_F -ne $nb_B ]; then
68 print_debug "ERROR: Base and Full should have the same number of files"
72 nb_B=`awk -F '|' '/RestartJob.+B.+B/ { gsub(/,/, ""); print $8}' $tmp/log3.out`
73 nb_F=`awk -F '|' '/RestartJob.+F/ { gsub(/,/, ""); print $8}' $tmp/log3.out`
75 if [ $nb_F -gt 1000000 ]; then
76 print_debug "ERROR: Base job should backup only one file"