X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fconcurrent-jobs-test;h=37c69bd80197b8d354b4a8480edf20ded473930b;hb=43170b6b4bc3f650fd69f40e234aee304226ef86;hp=2af285a60926d9c9766e468667771ed4f6604827;hpb=a45166182785c04da7be201b370a7f199edcf8b3;p=bacula%2Fbacula diff --git a/regress/tests/concurrent-jobs-test b/regress/tests/concurrent-jobs-test index 2af285a609..37c69bd801 100755 --- a/regress/tests/concurrent-jobs-test +++ b/regress/tests/concurrent-jobs-test @@ -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 <${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