]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/concurrent-jobs-test
Tweak add copyright to regression tests that do not have one
[bacula/bacula] / regress / tests / concurrent-jobs-test
index 2af285a60926d9c9766e468667771ed4f6604827..420f50e06167ea2c6f1a4f14d8f456482d19fa20 100755 (executable)
@@ -1,48 +1,56 @@
 #!/bin/sh
 #
+# Copyright (C) 2000-2017 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
 # Run two jobs at the same time
 #
-cwd=`pwd`
-scripts/copy-test-confs
-scripts/cleanup
-echo "${cwd}/tmp/largefile" >/tmp/file-list
+
+TestName="concurrent-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
-echo "largefile created"
-bin/bacula stop 2>&1 >/dev/null
-bin/drop_sqlite_tables
-bin/make_sqlite_tables
+#  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 " "
-echo " "
-echo " === Starting concurrent-jobs-test  ==="
-echo " === Starting concurrent-jobs-test  ===" >>working/log
-echo " "
+#echo "largefile created"
 
-bin/bacula start 2>&1 >/dev/null
-bin/console -c bin/console.conf <<END_OF_DATA
-@output /dev/null
+change_jobname CompressedTest $JobName
+start_test
+     
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out /dev/null
 messages
-@output tmp/log1.out
-label storage=File
-TestVolume001
-run job=CompressedTest level=Full
-yes
-run job=CompressedTest level=Full
-yes
-run job=CompressedTest level=Full
-yes
-run job=CompressedTest level=Full
-yes
+@$out  ${cwd}/tmp/log1.out
+label storage=File volume=TestVolume001
+run job=$JobName level=Full yes
+run job=$JobName level=Full yes
+run job=$JobName level=Full yes
+run job=$JobName level=Full yes
 wait
 messages
 @# 
 @# now do a restore
 @#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores
-5
+@$out   ${cwd}/tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select storage=File
+unmark *
+mark *
 done
 yes
 wait
@@ -51,20 +59,11 @@ messages
 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 tmp/largefile  tmp/bacula-restores${cwd}/tmp/largefile
-if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
-   echo " "
-   echo " "
-   echo "  ===== concurrent-jobs-test Bacula source failed!!! ===== "
-   echo "  ===== concurrent-jobs-test failed!!! ===== " >>test.out
-   echo " "
-else
-   echo "  ===== concurrent-jobs-test Bacula source OK ===== "
-   echo "  ===== concurrent-jobs-test OK ===== " >>test.out
-   scripts/cleanup
-fi
+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