]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/four-concurrent-jobs-test
regress: tweak speed-test
[bacula/bacula] / regress / tests / four-concurrent-jobs-test
index 95d1368525c4387dc50a226460d50038c5f4044a..ace393f34b21de66f285282cb60a34eec595726e 100755 (executable)
@@ -1,23 +1,25 @@
 #!/bin/sh
 #
-# Run two jobs at the same time
+# 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.
 #
-cwd=`pwd`
-scripts/copy-test-confs
+TestName="four-concurrent-jobs-test"
+JobName=Four-concurrent-jobs
+. scripts/functions
+
 scripts/cleanup
-echo "${cwd}/build" >/tmp/file-list
+scripts/copy-test-confs
+echo "${cwd}/build" >${cwd}/tmp/file-list
 
-echo " "
-echo " "
-echo " === Starting four-concurrent-jobs-test at `date +%R:%S` ==="
-echo " === Starting four-concurrent-jobs-test at `date +%R:%S` ===" >>working/log
-echo " "
+change_jobname NightlySave $JobName
+start_test
 
-bin/bacula start 2>&1 >/dev/null
-bin/bconsole -c bin/bconsole.conf <<END_OF_DATA 2>&1 >/dev/null
-@output /dev/null
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out /dev/null
 messages
-@output tmp/log1.out
+@$out   ${cwd}/tmp/log1.out
 label storage=File1
 TestVolume001
 label storage=File1
@@ -25,72 +27,90 @@ TestVolume002
 update Volume=TestVolume001 MaxVolBytes=100000000
 @#50000000
 @#12
-run job=NightlySave level=Full Storage=File1
+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
-reload
-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
-reload
-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
-reload
-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
-reload
-reload
-reload
-reload
+status storage=File1
+status client
+@#reload
+@#reload
+list nextvol
+1
 @sleep 2
 status dir
-reload
+status client
+status storage=File1
+llist volume=TestVolume001
+llist volume=TestVolume002
+@#reload
 @sleep 5
 messages
-reload
-reload
+@#reload
 wait
-reload
+status client
+status storage=File1
+@#reload
+list nextvol
+1
 messages
 @# 
 @# now do a restore
 @#
-@output tmp/log2.out
+@$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
-reload
-reload
+run job=$JobName level=Full Storage=File1 yes
+wait
+@#reload
 messages
-@output
 quit
 END_OF_DATA
-scripts/check_for_zombie_jobs storage=File1
 
-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
-   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 " "
-   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