X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fincremental-2disk;h=63098bcd9b694d0c34dde01e4cb848acb504138a;hb=795d9320e7918c0048252c84ea27ba843337bbd6;hp=c8886353490d86f1caf31010ba0ec1c5cb10a422;hpb=98846e57bb91a20341eb78a0f8bab8fc801a432b;p=bacula%2Fbacula diff --git a/regress/tests/incremental-2disk b/regress/tests/incremental-2disk index c888635349..63098bcd9b 100755 --- a/regress/tests/incremental-2disk +++ b/regress/tests/incremental-2disk @@ -5,19 +5,12 @@ # # This script uses the virtual disk autochanger # -. config.out -if test x${AUTOCHANGER} = x/dev/null ; then - echo "incremental-2disk test skipped. No autochanger." - exit -fi -debug=0 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" -fi -cwd=`pwd` -bin/bacula stop 2>&1 >/dev/null +TestName="incremental-2disk" +JobName=Inc2disk +. scripts/functions + + +stop_bacula cd bin ./drop_bacula_tables >/dev/null 2>&1 ./make_bacula_tables >/dev/null 2>&1 @@ -27,7 +20,7 @@ cd .. scripts/copy-2disk-confs scripts/prepare-two-disks -echo "${cwd}/tmp/build" >/tmp/file-list +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list if test ! -d ${cwd}/tmp/build ; then mkdir ${cwd}/tmp/build fi @@ -37,47 +30,41 @@ echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list cd ${cwd} -echo " " -echo " " -echo " === Starting incremental-2disk test ===" -echo " === Starting incremental-2disk test ===" >>working/log -echo " " +change_jobname $JobName +start_test # Write out bconsole commands -cat <tmp/bconcmds +cat <${cwd}/tmp/bconcmds @$out /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=0 -run job=NightlySave yes +run job=$JobName yes wait 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 -bin/bconsole -c bin/bconsole.conf <${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 -run level=Incremental job=NightlySave yes +run level=Incremental job=$JobName yes wait 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 @@ -88,24 +75,30 @@ messages @$out quit END_OF_DATA -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=File +stop_bacula # # 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 " !!!!! incremental-2disk test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-2disk test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== incremental-2disk test Bacula source OK ===== " - echo " ===== incremental-2disk test OK ===== " >>test.out - scripts/cleanup +rm -f ${cwd}/tmp/build/*.c + +check_two_logs +check_restore_tmp_build_diff + +# +# This script seems to more or less randomly fail, so we +# add extra code here to produce a "dump" in the event of +# an error. +# +if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then + cat ${cwd}/tmp/log1.out + echo " " + cat ${cwd}/tmp/log2.out + echo " " + diff -r ${cwd}/tmp/build ${cwd}/tmp/bacula-restores${cwd}/tmp/build fi + +end_test