X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fbackup-bacula-test;h=8cf65cf560e0a131a9319987aac548da629da633;hb=70f4723a1094c8c55d7a501ff52c1ff51a3542bf;hp=3b33a17c5accb620175a8c96931d0a3e59c65e61;hpb=6f503f638f2aaef6ccc40643a496278954a69220;p=bacula%2Fbacula diff --git a/regress/tests/backup-bacula-test b/regress/tests/backup-bacula-test index 3b33a17c5a..8cf65cf560 100755 --- a/regress/tests/backup-bacula-test +++ b/regress/tests/backup-bacula-test @@ -3,42 +3,45 @@ # Run a simple backup of the Bacula build directory # then restore it. # -debug=0 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" -fi +TestName="backup-bacula-test" +JobName=backup +. scripts/functions -cwd=`pwd` -scripts/copy-confs scripts/cleanup +scripts/copy-confs + +# +# Zap out any schedule in default conf file so that +# it doesn't start during our test +# +outf="$tmp/sed_tmp" +echo "s% Schedule =%# Schedule =%g" >${outf} +cp $scripts/bacula-dir.conf $tmp/1 +sed -f ${outf} $tmp/1 >$scripts/bacula-dir.conf -echo " " -echo " " -echo " === Starting Backup Bacula Test at `date +%R:%S` ===" -echo " === Starting Backup Bacula Test at `date +%R:%S` ===" >>working/log -echo " " +change_jobname Client1 $JobName +start_test -cat <tmp/bconcmds -@$out /dev/null +cat <$tmp/bconcmds +@output /dev/null messages -@$out tmp/log1.out -label volume=TestVolume001 -run job=Client1 yes +@$out $tmp/log1.out +setdebug level=100 storage=File +label volume=TestVolume001 storage=File pool=Default +run job=$JobName yes status storage=File status storage=File status storage=File status storage=File status storage=File status storage=File -sleep 1 +@sleep 1 status storage=File status storage=File status storage=File status storage=File status storage=File -sleep 1 +@sleep 1 status storage=File status storage=File status storage=File @@ -49,8 +52,8 @@ messages @# @# now do a restore @# -@$out tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all done +@$out $tmp/log2.out +restore where=$tmp/bacula-restores select all done yes wait messages @@ -58,36 +61,41 @@ messages quit END_OF_DATA -if test "$debug" -eq 1 ; then - bin/bacula start - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - bin/bacula start 2>&1 >/dev/null - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null -fi +run_bacula +check_for_zombie_jobs storage=File +stop_bacula + +cat <$tmp/bconcmds +@output /dev/null +messages +@$out $tmp/log1.out +@#setdebug level=100 storage=File +run job=$JobName yes +wait +messages +@# +@# now do a restore +@# +@$out $tmp/log2.out +restore where=$tmp/bacula-restores select all done +yes +wait +messages +@$out +quit +END_OF_DATA + +# +# Now do a second backup after making a few changes +# +touch ${cwd}/build/src/dird/*.c +echo "test test" > ${cwd}/build/src/dird/xxx +# + +run_bacula +check_for_zombie_jobs storage=File +stop_bacula -scripts/check_for_zombie_jobs storage=File -bin/bacula stop 2>&1 >/dev/null -grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null -bstat=$? -grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null -rstat=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! Backup Bacula Test failed!!! !!!!! " - echo " !!!!! Backup Bacula Test failed!!! !!!!! " >>test.out - if [ $bstat != 0 -o $rstat != 0 ] ; then - echo " !!!!! Bad Job termination status !!!!! " - echo " !!!!! Bad Job termination status !!!!! " >>test.out - else - echo " !!!!! Restored files differ !!!!! " - echo " !!!!! Restored files differ !!!!! " >>test.out - fi - echo " " -else - echo " ===== Backup Bacula Test OK ===== " - echo " ===== Backup Bacula Test OK ===== " >>test.out - scripts/cleanup -fi +check_two_logs +check_restore_diff +end_test