X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2F2drive-incremental-2disk;h=2e3bcbe21c6505fd0598ce023a9399c3a6340c64;hb=04f5e9b8e6134a58f6d4173c737dec775ca19de6;hp=f3972b0adc01453de5f9eafe382c92247407b9ed;hpb=e3dd737ab654bfe54cd9b1b59c07f1f66894ff1c;p=bacula%2Fbacula diff --git a/regress/tests/2drive-incremental-2disk b/regress/tests/2drive-incremental-2disk index f3972b0adc..2e3bcbe21c 100755 --- a/regress/tests/2drive-incremental-2disk +++ b/regress/tests/2drive-incremental-2disk @@ -5,24 +5,19 @@ # # 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 +scripts/prepare-disk-changer +CLIENT=2drive2disk + +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 +28,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 -@output /dev/null +cat <${cwd}/tmp/bconcmds +@$out /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=2drive2disk 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=200 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 +wait jobid=2 status storage=DDS-4 +list volumes +list jobs +messages wait list volumes list jobs @@ -69,24 +65,20 @@ 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 +87,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 @@ -103,33 +95,27 @@ restore where=${cwd}/tmp/bacula-restores yes wait 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