From: Kern Sibbald Date: Sun, 11 May 2014 09:28:34 +0000 (+0200) Subject: Add new cancel test X-Git-Tag: Release-7.0.3~4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=529290bb86a296a5a3df6aa37171de35ce794c97;p=bacula%2Fbacula Add new cancel test --- diff --git a/regress/tests/cancel-multiple-test b/regress/tests/cancel-multiple-test new file mode 100755 index 0000000000..3ee21b2820 --- /dev/null +++ b/regress/tests/cancel-multiple-test @@ -0,0 +1,99 @@ +#!/bin/sh +# +# Run four concurrent jobs and then cancel 2 of them +# + +TestName="cancel-multiple-jobs-test" +JobName=concurrent-jobs +. scripts/functions + +copy_test_confs + +echo "${cwd}/tmp/largefile" >${cwd}/tmp/file-list +if test -c /dev/urandom ; then +# Create 56MB file with random data +# echo "Creating a 56MB file with random data ..." + dd if=/dev/urandom of=${cwd}/tmp/largefile bs=1024 count=55000 2>&1 1>/dev/null +else +# echo "Creating a 56MB file with bacula-dir data ..." + dd if=$bin/bacula-dir of=${cwd}/tmp/1 bs=1024 count=1000 2>&1 1>/dev/null + cat ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 ${cwd}/tmp/1 >${cwd}/tmp/2 + rm -f ${cwd}/tmp/1 + cat ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 ${cwd}/tmp/2 >>${cwd}/tmp/3 + rm -f ${cwd}/tmp/2 + cat ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 ${cwd}/tmp/3 >${cwd}/tmp/largefile + rm -f ${cwd}/tmp/3 +fi + +#echo "largefile created" + +# Add some jobs and fileset for this test +cat <>${cwd}/bin/bacula-dir.conf +JobDefs { + Name = "DefaultJob" + Type = Backup + Client=rufus-fd + FileSet="Full Set" + Storage = File + Messages = Standard + Pool = Default + Write Bootstrap = "/home/kern/bacula/k/regress/working/NightlySave.bsr" + Maximum Concurrent Jobs = 10 + SpoolData=yes + Max Run Time = 30min + Reschedule On Error = no + Reschedule Interval = 10 + Reschedule Times = 1 +} +Job { + Name = RUN4 + ClientRunBeforeJob="sleep 20" + RunScript { + Command = "sleep 20" + RunsWhen = After + } + JobDefs = DefaultJob +} +EOF + + +change_jobname CompressedTest $JobName +start_test + +cat <${cwd}/tmp/bconcmds +@$out /dev/null +messages +@$out ${cwd}/tmp/log1.out +label storage=File volume=TestVolume001 +run job=RUN4 level=Full yes +run job=RUN4 level=Full yes +run job=RUN4 level=Full yes +run job=RUN4 level=Full yes +cancel +1,3 +yes +wait +messages +@# +@# now do a restore +@# +@$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 + +run_bacula +check_for_zombie_jobs storage=File +stop_bacula + +check_two_logs +diff ${cwd}/tmp/largefile ${cwd}/tmp/bacula-restores${cwd}/tmp/largefile 2>&1 >/dev/null +dstat=$? +end_test