#!/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.
#
TestName="four-concurrent-jobs-test"
JobName=Four-concurrent-jobs
. scripts/functions
-set_debug 0
scripts/cleanup
scripts/copy-test-confs
-echo "${cwd}/build" >/tmp/file-list
+echo "${cwd}/build" >${cwd}/tmp/file-list
change_jobname NightlySave $JobName
start_test
-cat <<END_OF_DATA >tmp/bconcmds
-@output /dev/null
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out /dev/null
messages
-@$out tmp/log1.out
+@$out ${cwd}/tmp/log1.out
label storage=File1
TestVolume001
label storage=File1
update Volume=TestVolume001 MaxVolBytes=100000000
@#50000000
@#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
-reload
+@#reload
+llist volume=TestVolume001
+llist volume=TestVolume002
+list nextvol
+1
run job=$JobName level=Full Storage=File1
yes
-reload
+@#reload
+llist volume=TestVolume001
+llist volume=TestVolume002
+list nextvol
+1
run job=$JobName level=Full Storage=File1
yes
-reload
+@#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
@#
-@$out 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