From: Kern Sibbald Date: Fri, 27 Feb 2004 15:21:55 +0000 (+0000) Subject: Add new file X-Git-Tag: Release-1.34.0~84 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=e0f887c1f967acdf6b3fd7a3796322e6cc9404a9;p=bacula%2Fbacula Add new file git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1095 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/regress/all-non-root-tests b/regress/all-non-root-tests index c3926e3169..f7e235552e 100755 --- a/regress/all-non-root-tests +++ b/regress/all-non-root-tests @@ -25,6 +25,7 @@ tests/restore2-by-file-test tests/four-jobs-test tests/incremental-test tests/decremental-test +tests/restore-disk-seek-test echo " " echo " " echo "Test results" diff --git a/regress/scripts/test-bacula-dir.conf.in b/regress/scripts/test-bacula-dir.conf.in index 64416b8587..348110741c 100644 --- a/regress/scripts/test-bacula-dir.conf.in +++ b/regress/scripts/test-bacula-dir.conf.in @@ -265,7 +265,7 @@ Messages { operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r" MailOnError = @job_email@ = all operator = @job_email@ = mount - console = all, !skipped + console = all, !skipped, !terminate # # WARNING! the following will create a file that you must cycle from # time to time as it will grow indefinitely. However, it will @@ -277,7 +277,7 @@ Messages { Messages { Name = NoEmail mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r" - console = all, !skipped + console = all, !skipped, !terminate # # WARNING! the following will create a file that you must cycle from # time to time as it will grow indefinitely. However, it will diff --git a/regress/scripts/test-bacula-sd.conf.in b/regress/scripts/test-bacula-sd.conf.in index e3145d3221..ae4fdc6a7d 100644 --- a/regress/scripts/test-bacula-sd.conf.in +++ b/regress/scripts/test-bacula-sd.conf.in @@ -41,6 +41,7 @@ Device { AutomaticMount = yes; # when device opened, read it RemovableMedia = no; AlwaysOpen = no; +# Maximum File Size = 10KB } Device { diff --git a/regress/scripts/testa-bacula-dir.conf.in b/regress/scripts/testa-bacula-dir.conf.in index ca3b284b01..52c1657fd2 100644 --- a/regress/scripts/testa-bacula-dir.conf.in +++ b/regress/scripts/testa-bacula-dir.conf.in @@ -120,8 +120,7 @@ Messages { Messages { Name = NoEmail mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r" - console = all, !skipped - + console = all, !skipped, !terminate append = "@working_dir@/log" = all, !skipped } diff --git a/regress/tests/restore-disk-seek-test b/regress/tests/restore-disk-seek-test new file mode 100755 index 0000000000..603986b796 --- /dev/null +++ b/regress/tests/restore-disk-seek-test @@ -0,0 +1,93 @@ +#!/bin/sh +# +# Run a backup of the full bacula build directory, but with the +# Maximum File Size set. Then do a restore of a few files to kick in +# disk seeking (not yet enabled), and ensure that the restored files +# match. Even though disk seeking is not yet enabled, this is a good test, +# and once it is enabled, this will test it. +# +cwd=`pwd` +scripts/copy-test-confs +scripts/cleanup +echo "${cwd}/tmp/build" >/tmp/file-list +rm -rf ${cwd}/tmp/build +mkdir ${cwd}/tmp/build +# Copy only the .c files (to be restored) +cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build +cd ${cwd}/tmp/build +ls >../1 +cd .. +sed s%\^%${cwd}/tmp/build/% 1 >restore-list +# At this point restore-list contains the list +# of files we will restore +rm -f 1 +cd ${cwd} +# Now backup *everything* +rm -rf ${cwd}/tmp/build +mkdir ${cwd}/tmp/build +cp -fp ${cwd}/build/src/dird/* ${cwd}/tmp/build +bin/bacula stop 2>&1 >/dev/null +cd bin +./drop_bacula_tables >/dev/null 2>&1 +./make_bacula_tables >/dev/null 2>&1 +./grant_bacula_privileges 2>&1 >/dev/null +cd .. +# Enable MaximumFileSize +cp ${cwd}/bin/bacula-sd.conf ${cwd}/tmp/1 +sed "s%# Maximum File Size% Maximum File Size%" ${cwd}/tmp/1 >${cwd}/bin/bacula-sd.conf + +echo " " +echo " " +echo " === Starting restore-disk-seek-test ===" +echo " === Starting restore-disk-seek-test ===" >>working/log +echo " " + +# bin/bacula start -v -v 2>&1 >/dev/null +bin/bacula start -v -v +bin/bconsole -c bin/bconsole.conf <&1 >/dev/null +# Now setup a control directory of only what we *should* restore +rm -rf ${cwd}/tmp/build +mkdir ${cwd}/tmp/build +cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build +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 -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null +if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then + echo " " + echo " " + echo " !!!!! restore-disk-seek-test Bacula source failed!!! !!!!! " + echo " !!!!! restore-disk-seek-test failed!!! !!!!! " >>test.out + echo " " +else + echo " ===== restore-disk-seek-test Bacula source OK ===== " + echo " ===== restore-disk-seek-test OK ===== " >>test.out +# scripts/cleanup +# rm -rf ${cwd}/tmp/build +fi