]> git.sur5r.net Git - bacula/bacula/commitdiff
Add new cancel test
authorKern Sibbald <kern@sibbald.com>
Sun, 11 May 2014 09:28:34 +0000 (11:28 +0200)
committerKern Sibbald <kern@sibbald.com>
Sun, 11 May 2014 09:29:29 +0000 (11:29 +0200)
regress/tests/cancel-multiple-test [new file with mode: 0755]

diff --git a/regress/tests/cancel-multiple-test b/regress/tests/cancel-multiple-test
new file mode 100755 (executable)
index 0000000..3ee21b2
--- /dev/null
@@ -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 <<EOF >>${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 <<END_OF_DATA >${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