]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/four-concurrent-jobs-test
Fix regression minor scripting problems
[bacula/bacula] / regress / tests / four-concurrent-jobs-test
index 8efd332f1d5bfa6e7da29737692d09aabab065ce..8e47b1720c84e7077c3062124e14541097caf01a 100755 (executable)
 #!/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
-bin/drop_sqlite_tables
-bin/make_sqlite_tables
+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/console -c bin/console.conf <<END_OF_DATA
+cat <<END_OF_DATA >${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
-6
-100000000
+update Volume=TestVolume001 MaxVolBytes=100000000
 @#50000000
-10
-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
-5
+@$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
-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