]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/concurrent-jobs-test
Update
[bacula/bacula] / regress / tests / concurrent-jobs-test
index 2af285a60926d9c9766e468667771ed4f6604827..37c69bd80197b8d354b4a8480edf20ded473930b 100755 (executable)
@@ -2,47 +2,52 @@
 #
 # 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
+else
+   echo "Creating a 56MB file with bacula-dir data ..."
+   dd if=bin/bacula-dir of=${cwd}/tmp/1 bs=1024 count=1000
+   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
+change_jobname CompressedTest $JobName
+start_test
+     
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
 @output /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 +56,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