X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fincremental-test;h=230508abcef1c9f1bb8a4b33b6e49463ed5a5746;hb=3a3e106aa07b87f4d9cd711e975f622a2b435dd0;hp=372dc530cc5d9e49659ff4464964a07f35c66691;hpb=e54ed58d45a9f0ab037c477294a66e95ffc4373b;p=bacula%2Fbacula diff --git a/regress/tests/incremental-test b/regress/tests/incremental-test index 372dc530cc..230508abce 100755 --- a/regress/tests/incremental-test +++ b/regress/tests/incremental-test @@ -3,10 +3,13 @@ # Run a simple backup of the Bacula build directory then create some # new files, do an Incremental and restore those two files. # -cwd=`pwd` -scripts/copy-test-confs +TestName="incremental-test" +JobName=Incremental +. scripts/functions + scripts/cleanup -echo "${cwd}/tmp/build" >/tmp/file-list +scripts/copy-test-confs +echo "${cwd}/tmp/build" >${cwd}/tmp/file-list mkdir ${cwd}/tmp/build cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build cd ${cwd}/tmp @@ -14,119 +17,139 @@ echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list cd ${cwd} -echo " " -echo " " -echo " === Starting incremental-test `date +%R:%S` ===" -echo " === Starting incremental-test `date +%R:%S` ===" >>working/log -echo " " +change_jobname CompressedTest $JobName +start_test -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out +@$out ${cwd}/tmp/log1.out +@#setdebug level=100 storage=File label storage=File volume=TestVolume001 label storage=File volume=TestVolume002 -run job=CompressedTest yes +run job=$JobName yes wait messages quit END_OF_DATA -scripts/check_for_zombie_jobs storage=File + +run_bacula +check_for_zombie_jobs storage=File # # Now create two new files to be restored later # sleep 1 echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt cp -f ${cwd}/tmp/build/dird.c ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out +@$out ${cwd}/tmp/log1.out @# Force Incremental on the second Volume update volume=TestVolume001 VolStatus=Used -run level=Differential job=CompressedTest yes +run level=Differential job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole + sleep 1 touch ${cwd}/tmp/build/ficheriro1.txt touch ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run level=Incremental job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole + sleep 1 cd ${cwd}/tmp/build cp -f ficheriro2.txt 1 sed "s%a%b%g" 1 >ficheriro2.txt rm -f 1 cd ${cwd} -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Differential job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run level=Differential job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole + sleep 1 touch ${cwd}/tmp/build/ficheriro1.txt touch ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run level=Incremental job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole + sleep 1 touch ${cwd}/tmp/build/ficheriro1.txt touch ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run level=Incremental job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole + sleep 1 touch ${cwd}/tmp/build/ficheriro1.txt touch ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run level=Incremental job=$JobName yes wait messages quit END_OF_DATA + +run_bconsole sleep 1 touch ${cwd}/tmp/build/ficheriro1.txt touch ${cwd}/tmp/build/ficheriro2.txt -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run level=Incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +setdebug level=200 storage=File +run level=Incremental job=$JobName yes wait messages @# @# now do a restore @# -@output tmp/log2.out +@$out ${cwd}/tmp/log2.out restore where=${cwd}/tmp/bacula-restores storage=File file=<${cwd}/tmp/restore-list yes wait @@ -134,32 +157,15 @@ messages @output quit END_OF_DATA -scripts/check_for_zombie_jobs storage=File -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 + +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 " !!!!! incremental-test Bacula source failed!!! !!!!! " - echo " !!!!! incremental-test failed!!! !!!!! " >>test.out - if [ $bstat != 0 -o $rstat != 0 ] ; then - echo " !!!!! Bad Job termination status !!!!! " - echo " !!!!! Bad Job termination status !!!!! " >>test.out - else - echo " !!!!! Restored files differ !!!!! " - echo " !!!!! Restored files differ !!!!! " >>test.out - fi - echo " " -else - echo " ===== incremental-test Bacula source OK ===== " - echo " ===== incremental-test OK ===== " >>test.out - scripts/cleanup -fi +rm -f ${cwd}/tmp/build/*.c +check_restore_tmp_build_diff +end_test