X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Ffour-jobs-test;h=6cdf0988d0d354d38ff6d7b4815eebcfc14f4abd;hb=HEAD;hp=d283a33174a5b9732b431895bfc80fd1cfef6c92;hpb=bd1975d9d3da8162240c6e2895d1a97a209c7c92;p=bacula%2Fbacula diff --git a/regress/tests/four-jobs-test b/regress/tests/four-jobs-test index d283a33174..6cdf0988d0 100755 --- a/regress/tests/four-jobs-test +++ b/regress/tests/four-jobs-test @@ -1,41 +1,41 @@ #!/bin/sh +# +# Copyright (C) 2000-2015 Kern Sibbald +# License: BSD 2-Clause; see file LICENSE-FOSS +# + # # Run a simple backup of the Bacula build directory using the compressed option # then backup four times, each with incremental then finally restore. # It should require at least 4 different bsrs. # -cwd=`pwd` -scripts/copy-test-confs +TestName="four-jobs-test" +JobName=SpanVol +. scripts/functions + scripts/cleanup -echo "${cwd}/build" >/tmp/file-list -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 .. +scripts/copy-test-confs +echo "${cwd}/build" >${cwd}/tmp/file-list -echo " " -echo " " -echo " === Starting four-jobs-test ===" -echo " === Starting four-jobs-test ===" >>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 -estimate job=CompressedTest listing -estimate job=CompressedTest listing -estimate job=CompressedTest listing +estimate job=$JobName listing +estimate job=$JobName +estimate job=$JobName messages -@output tmp/log1.out +@$out ${cwd}/tmp/log1.out label storage=File volume=TestVolume001 -run job=CompressedTest yes +run job=$JobName yes wait messages quit END_OF_DATA -echo "Backup 1 done" + +run_bacula +check_for_zombie_jobs storage=File # make some files for the incremental to pick up touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o @@ -43,82 +43,81 @@ touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o # # run a second job # -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -run job=CompressedTest -yes +@$out ${cwd}/tmp/log1.out +run job=$JobName yes wait messages quit END_OF_DATA -echo "Backup 2 done" + +run_bconsole +check_for_zombie_jobs storage=File + touch ${cwd}/build/src/dird/*.c touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o # # run a third job # -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -label storage=File volume=TestVolume001 -run job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run job=$JobName yes wait messages quit END_OF_DATA -echo "Backup 3 done" + +run_bconsole +check_for_zombie_jobs storage=File + # make some files for the incremental to pick up touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o # # run a fourth job # -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out -label storage=File volume=TestVolume001 -run job=CompressedTest yes +@$out ${cwd}/tmp/log1.out +run job=$JobName yes wait messages quit END_OF_DATA -echo "Backup 4 done" + +run_bconsole +check_for_zombie_jobs storage=File + # # now do several restores to ensure we cleanup between jobs # -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null -restore where=${cwd}/tmp/bacula-restores select all +restore where=${cwd}/tmp/bacula-restores select all storage=File done yes wait -restore where=${cwd}/tmp/bacula-restores select all +restore where=${cwd}/tmp/bacula-restores select all storage=File done yes wait -@output tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all +@$out ${cwd}/tmp/log2.out +restore where=${cwd}/tmp/bacula-restores select storage=File +unmark * +mark * +done yes wait messages -@output 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=$? -diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null -if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then - echo " " - echo " " - echo " !!!!! four-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! four-jobs-test failed!!! !!!!! " >>test.out - echo " " -else - echo " ===== four-jobs-test Bacula source OK ===== " - echo " ===== four-jobs-test OK ===== " >>test.out - scripts/cleanup -fi + +run_bconsole +check_for_zombie_jobs storage=File +stop_bacula + +check_two_logs +check_restore_diff +end_test