X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2F2drive-incremental-2disk;h=97aab7adf1430f4dcad7131f56d06fa8fec9ec6f;hb=86e786f4fb2faf7c9487a0bf4633371cbb57b759;hp=b61bcd970fd01b88660511b4299ccd1eefdd5a29;hpb=99315e9010cc655fd57346986dc4dc807838eecf;p=bacula%2Fbacula diff --git a/regress/tests/2drive-incremental-2disk b/regress/tests/2drive-incremental-2disk index b61bcd970f..97aab7adf1 100755 --- a/regress/tests/2drive-incremental-2disk +++ b/regress/tests/2drive-incremental-2disk @@ -5,24 +5,18 @@ # # This script uses the virtual disk autochanger and two drives # -. config.out -debug=0 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" -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 .. +TestName="2drive-incremental-2disk" +JobName="2drive2disk" +. scripts/functions +scripts/cleanup scripts/copy-2disk-drive-confs scripts/prepare-two-disks -echo "${cwd}/tmp/build" >/tmp/file-list + +change_jobname localhost-fd $JobName +start_test + +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list if test ! -d ${cwd}/tmp/build ; then mkdir ${cwd}/tmp/build fi @@ -33,34 +27,35 @@ echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list cd ${cwd} # Turn off Prefer Mounted Volumes so we use 2 drives -outf="tmp/sed_tmp" +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 -echo " " -echo " " -echo " === Starting 2drive-incremental-2disk test ===" -echo " === Starting 2drive-incremental-2disk test ===" >>working/log -echo " " - # Write out bconsole commands -cat <tmp/bconcmds +cat <${cwd}/tmp/bconcmds @output /dev/null messages -@$out tmp/log1.out +@$out ${cwd}/tmp/log1.out +setdebug level=3 dir +setdebug level=3 storage=DDS-4 +setdebug level=3 client 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 +status storage=DDS-4 +@#setdebug level=120 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 +@sleep 5 status storage=DDS-4 +list volumes +list jobs +messages wait list volumes list jobs @@ -69,24 +64,19 @@ 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 +list volumes +@#setdebug level=120 storage=DDS-4 run level=Incremental job=NightlySave yes wait list volumes @@ -95,7 +85,7 @@ 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 @@ -106,30 +96,23 @@ messages @$out quit END_OF_DATA -if test "$debug" -eq 1 ; then - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf -else - cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf 2>&1 >/dev/null + +run_bconsole +check_for_zombie_jobs storage=DDS-4 +stop_bacula + +check_two_logs +# The restore should read from TestVolume002, which was on drive 1 +grep TestVolume002 ${cwd}/tmp/log2.out >/dev/null 2>&1 +# Note rstat may already be set, so we don't just store into it +if [ $? != 0 ] ; then + rstat=$? 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=$? # # 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-2disk test Bacula source failed!!! !!!!! " - echo " !!!!! 2drive-incremental-2disk test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== 2drive-incremental-2disk test Bacula source OK ===== " - echo " ===== 2drive-incremental-2disk test OK ===== " >>test.out - scripts/cleanup -fi +rm -f ${cwd}/tmp/build/*.c +check_restore_tmp_build_diff + +end_test