X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fdifferential-test;h=7ef57dc220a09c54b04d05d1e05ac841640f57fd;hb=2f94e85dc047b97f4deeafb89404576a0691d2c3;hp=e75845455867acb7336c4521fbd33d4c1b252360;hpb=513fb27c6ae7faf0be67bc68e3d7d3e326a3da84;p=bacula%2Fbacula diff --git a/regress/tests/differential-test b/regress/tests/differential-test index e758454558..7ef57dc220 100755 --- a/regress/tests/differential-test +++ b/regress/tests/differential-test @@ -3,17 +3,13 @@ # Run a simple backup of the Bacula build directory then create some # new files, do a differential and restore those two files. # -debug=0 -if test "$debug" -eq 1 ; then - out="tee" -else - out="output" -fi +TestName="differential-test" +JobName=differential +. scripts/functions -cwd=`pwd` -scripts/copy-test-confs 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 @@ -21,68 +17,55 @@ echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list cd ${cwd} -echo " " -echo " " -echo " === Starting differential-test at `date +%R:%S` ===" -echo " === Starting differential-test at `date +%R:%S` ===" >>working/log -echo " " +change_jobname CompressedTest $JobName +start_test -cat <tmp/bconcmds +cat <${cwd}/tmp/bconcmds @$out /dev/null messages -@$out tmp/log1.out +@$out ${cwd}/tmp/log1.out label storage=File volume=TestVolume002 label storage=File volume=TestVolume001 -run job=CompressedTest 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 scripts/check_for_zombie_jobs storage=File 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 differential on the second Volume update volume=TestVolume002 VolStatus=Used -run level=differential job=CompressedTest yes +run level=differential job=$JobName yes wait messages @$out 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 -fi +run_bconsole scripts/check_for_zombie_jobs storage=File echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt -cat <tmp/bconcmds +cat <${cwd}/tmp/bconcmds @$out /dev/null messages -@$out tmp/log1.out -run level=incremental job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +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 storage=File file=<${cwd}/tmp/restore-list yes wait @@ -91,38 +74,14 @@ messages 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 -fi - +run_bconsole 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=$? +stop_bacula + +check_two_logs # # Delete .c files because we will only restore 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 " !!!!! differential-test Bacula source failed!!! !!!!! " - echo " !!!!! differential-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 " ===== differential-test Bacula source OK `date +%R:%S` ===== " - echo " ===== differential-test OK `date +%R:%S` ===== " >>test.out - scripts/cleanup -fi +rm -f ${cwd}/tmp/build/*.c +check_restore_tmp_build_diff +end_test