X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Ftwo-volume-tape;h=e20af2510caff16bc9ecc1dae7810b34aff4658d;hb=795d9320e7918c0048252c84ea27ba843337bbd6;hp=9494de717ac511d0e09e3e3db29dcac29c13d994;hpb=8bd785611ef1f93557a1d3ffb2bd81275077f122;p=bacula%2Fbacula diff --git a/regress/tests/two-volume-tape b/regress/tests/two-volume-tape index 9494de717a..e20af2510c 100755 --- a/regress/tests/two-volume-tape +++ b/regress/tests/two-volume-tape @@ -1,66 +1,84 @@ #!/bin/sh # # Run a simple backup of the Bacula build directory -# to two tapes where the maximum tape file size is set to 1M +# to two tapes where the maximum tape file size is set to 1M +# Note, this test simulates the tape filling and writing to +# the next tape. # -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null +TestName="two-volume-tape" +JobName=twovoltape +. scripts/functions + +if test x${AUTOCHANGER} = x/dev/null ; then + echo "${TestName} test skipped. No autochanger." + exit +fi + +scripts/cleanup scripts/copy-2tape-confs scripts/prepare-two-tapes -echo "${cwd}/build" >/tmp/file-list -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. -out="tmp/sed_tmp" -echo "s%# Maximum File Size% Maximum File Size%g" >${out} + +echo "${cwd}/build" >${cwd}/tmp/file-list + +outf="tmp/sed_tmp" +echo "s%# Maximum File Size% Maximum File Size%g" >${outf} cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 -sed -f ${out} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf +sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf -echo " " -echo " " -echo " === Starting Two Volume Tape test ===" -echo " === Starting Two Volume Tape test ===" >>working/log -echo " " +change_jobname $JobName +start_test -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <tmp/bconcmds +@$out /dev/null messages -@output tmp/log1.out -label storage=DDS-4 volume=TestVolume001 slot=1 -label storage=DDS-4 volume=TestVolume002 slot=2 -update Volume=TestVolume001 MaxVolBytes=3000000 -run job=NightlySave yes +@$out tmp/log1.out +label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0 +label storage=DDS-4 volume=TestVolume002 slot=2 pool=Default drive=0 +update Volume=TestVolume001 MaxVolBytes=3000000 pool=Default drive=0 +sql +select * from Storage; +select VolumeName,InChanger,Slot,StorageId from Media; + +@#setdebug level=1000 client +@#setdebug level=250 storage=DDS-4 +run job=$JobName yes wait +sql +select * from Storage; +select VolumeName,InChanger,Slot,StorageId from Media; + +messages +quit +END_OF_DATA + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +mt -f ${TAPE_DRIVE} rewind +mtx -f ${AUTOCHANGER} unload +sleep 15 + +cat <tmp/bconcmds +@$out /dev/null messages @# @# now do a restore @# -@output tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 +@$out tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done yes wait messages -@output +@$out quit END_OF_DATA -scripts/check_for_zombie_jobs storage=DDS-4 -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 " !!!!! Two Volume Tape test Bacula source failed!!! !!!!! " - echo " !!!!! Two Volume Tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== Two Volume Tape test Bacula source OK ===== " - echo " ===== Two Volume Tape test OK ===== " >>test.out -# scripts/cleanup -fi + +run_bacula +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +check_restore_diff +end_test