X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Ffour-concurrent-jobs-test;h=8e47b1720c84e7077c3062124e14541097caf01a;hb=55112fa553da58bfae83d325cc5aa7711233990f;hp=a0f2b0330862fe852a4cd312ac2eb7ae52bf353a;hpb=183f700668adce506818201f58dfcebbea014fd8;p=bacula%2Fbacula diff --git a/regress/tests/four-concurrent-jobs-test b/regress/tests/four-concurrent-jobs-test index a0f2b03308..8e47b1720c 100755 --- a/regress/tests/four-concurrent-jobs-test +++ b/regress/tests/four-concurrent-jobs-test @@ -1,79 +1,121 @@ #!/bin/sh # -# Run two jobs at the same time +# Copyright (C) 2000-2015 Kern Sibbald +# License: BSD 2-Clause; see file LICENSE-FOSS # -cwd=`pwd` -scripts/copy-test-confs + +# +# Run four jobs at the same time, with two Volumes. +# Set max Vol bytes of first volume +# to less than total backup to force Bacula to use the second +# Volume. +# +TestName="four-concurrent-jobs-test" +JobName=Four-concurrent-jobs +. 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-concurrent-jobs-test ===" -echo " === Starting four-concurrent-jobs-test ===" >>working/log -echo " " +change_jobname NightlySave $JobName +start_test -#bin/bacula start 2>&1 >/dev/null -bin/bacula start -bin/bconsole -c bin/bconsole.conf <${cwd}/tmp/bconcmds @output /dev/null messages -@output tmp/log1.out +@$out ${cwd}/tmp/log1.out label storage=File1 TestVolume001 label storage=File1 TestVolume002 update Volume=TestVolume001 MaxVolBytes=100000000 @#50000000 -12 -run job=NightlySave level=Full Storage=File1 +@#12 +setdebug level=51 Storage=File1 +status storage=File1 +status client +llist volume=TestVolume001 +llist volume=TestVolume002 +list nextvol +1 +run job=$JobName level=Full Storage=File1 yes -run job=NightlySave level=Full Storage=File1 +@#reload +llist volume=TestVolume001 +llist volume=TestVolume002 +list nextvol +1 +run job=$JobName level=Full Storage=File1 yes -run job=NightlySave level=Full Storage=File1 +@#reload +llist volume=TestVolume001 +llist volume=TestVolume002 +list nextvol +1 +run job=$JobName level=Full Storage=File1 yes -run job=NightlySave level=Full Storage=File1 +@#reload +llist volume=TestVolume001 +llist volume=TestVolume002 +list nextvol +1 +status storage=File1 +run job=$JobName level=Full Storage=File1 yes +status storage=File1 +status client +@#reload +@#reload +list nextvol +1 @sleep 2 status dir +status client +status storage=File1 +llist volume=TestVolume001 +llist volume=TestVolume002 +@#reload @sleep 5 messages +@#reload wait +status client +status storage=File1 +@#reload +list nextvol +1 messages @# @# now do a restore @# -@output tmp/log2.out -restore where=${cwd}/tmp/bacula-restores select all storage=File1 +@$out ${cwd}/tmp/jobmedia.out +list volumes +sql +select JobId,MediaId,StartFile,StartBlock,EndFile,EndBlock from JobMedia; + + +@$out ${cwd}/tmp/log2.out +status client +status storage=File1 +setdebug level=100 Storage=File1 +restore where=${cwd}/tmp/bacula-restores select storage=File1 +unmark * +mark * +done yes wait +run job=$JobName level=Full Storage=File1 yes +wait +@#reload 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-concurrent-jobs-test Bacula source failed!!! !!!!! " - echo " !!!!! four-concurrent-jobs-test failed!!! !!!!! " >>test.out - echo " " - exit 1 -else - echo " ===== four-concurrent-jobs-test Bacula source OK ===== " - echo " ===== four-concurrent-jobs-test OK ===== " >>test.out - scripts/cleanup - exit 0 -fi +run_bacula +check_for_zombie_jobs storage=File1 +stop_bacula + +check_two_logs +check_restore_diff +end_test