X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2F2drive-incremental-2tape;h=bdf03186a57807c1ec8a288554bb75c6e5505250;hb=7ec6a7e8c7b6908e321883b18dbc64e244bc282a;hp=c2c84d6b6264b66caa0977804d257eb172eaf6bd;hpb=332c596f1ba785732fe2457965889de8019f466d;p=bacula%2Fbacula diff --git a/regress/tests/2drive-incremental-2tape b/regress/tests/2drive-incremental-2tape index c2c84d6b62..bdf03186a5 100755 --- a/regress/tests/2drive-incremental-2tape +++ b/regress/tests/2drive-incremental-2tape @@ -5,23 +5,22 @@ # # This script uses the autochanger and two tapes # -debug=1 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" +TestName="2drive-incremental-2tape" +JobName="2drive2tape" +. scripts/functions + +if test x${TAPE_DRIVE1} = x/dev/null ; then + echo "Skipping 2drive-incremental-2tape test. No second drive." + exit fi -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null -cd bin -./drop_bacula_tables >/dev/null 2>&1 -./make_bacula_tables >/dev/null 2>&1 -./grant_bacula_privileges 2>&1 >/dev/null -cd .. + scripts/copy-2drive-confs scripts/cleanup-2drive -echo "${cwd}/tmp/build" >/tmp/file-list + +change_jobname localhost-fd $JobName + +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list if test ! -d ${cwd}/tmp/build ; then mkdir ${cwd}/tmp/build fi @@ -31,51 +30,61 @@ echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list cd ${cwd} -echo " " -echo " " -echo " === Starting 2drive-incremental-2tape test ===" -echo " === Starting 2drive-incremental-2tape test ===" >>working/log -echo " " +# Turn off Prefer Mounted Volumes so we use 2 drives +outf="${cwd}/tmp/sed_tmp" +echo "s%# Prefer Mounted Volumes% Prefer Mounted Volumes%g" >${outf} +cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1 +# Comment the next line out to write everything to one drive +# otherwise, it writes the two jobs to different drives +sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf + +start_test # Write out bconsole commands -cat <tmp/bconcmds -@$out /dev/null +cat <${cwd}/tmp/bconcmds +@output /dev/null messages -@$out tmp/log1.out +@$out ${cwd}/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=1 +@#setdebug level=100 storage=DDS-4 +run job=NightlySave yes +run job=NightlySave yes +run job=NightlySave yes run job=NightlySave yes +run job=NightlySave yes +@sleep 3 +status storage=DDS-4 wait +list volumes +list jobs status storage=DDS-4 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 + echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -cat <tmp/bconcmds +cat <${cwd}/tmp/bconcmds @$out /dev/null messages -@$out tmp/log1.out +@$out ${cwd}/tmp/log1.out @# Force Incremental on the second Volume update volume=TestVolume001 VolStatus=Used status storage=DDS-4 +@#setdebug level=400 storage=DDS-4 run level=Incremental job=NightlySave yes wait +list volumes status storage=DDS-4 messages @# @# now do a restore @# -@$out tmp/log2.out +@$out ${cwd}/tmp/log2.out restore where=${cwd}/tmp/bacula-restores 7 <${cwd}/tmp/restore-list @@ -86,32 +95,16 @@ messages @$out 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 -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=$? +run_bconsole +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs # # Delete .c files because we will only restored the txt files # -rm -f tmp/build/*.c -diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! 2drive-incremental-2tape test Bacula source failed!!! !!!!! " - echo " !!!!! 2drive-incremental-2tape test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== 2drive-incremental-2tape test Bacula source OK ===== " - echo " ===== 2drive-incremental-2tape test OK ===== " >>test.out - scripts/cleanup -fi +rm -f ${cwd}/tmp/build/*.c +check_restore_tmp_build_diff + +end_test