]> git.sur5r.net Git - bacula/bacula/commitdiff
Add new file
authorKern Sibbald <kern@sibbald.com>
Fri, 27 Feb 2004 15:21:55 +0000 (15:21 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 27 Feb 2004 15:21:55 +0000 (15:21 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@1095 91ce42f0-d328-0410-95d8-f526ca767f89

regress/all-non-root-tests
regress/scripts/test-bacula-dir.conf.in
regress/scripts/test-bacula-sd.conf.in
regress/scripts/testa-bacula-dir.conf.in
regress/tests/restore-disk-seek-test [new file with mode: 0755]

index c3926e3169ab16521e1c9861c347b27315a8fa9a..f7e235552e71d45494ee52fbddf520af960b220c 100755 (executable)
@@ -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"
index 64416b8587f984637e130b5cecd9b9ab1316cfb1..348110741c69fb6a7bfd4e48133f50d4309e9879 100644 (file)
@@ -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
index e3145d322115ec42652b2d2c7a35e0fe38e4940f..ae4fdc6a7d078a7a2da9de98698c04434e3f726b 100644 (file)
@@ -41,6 +41,7 @@ Device {
   AutomaticMount = yes;               # when device opened, read it
   RemovableMedia = no;
   AlwaysOpen = no;
+# Maximum File Size = 10KB
 }
 
 Device {
index ca3b284b01ff850988e0e81e348c325d2c9df54e..52c1657fd2bbc7ebddd7d43b55bd79e1e5a438fb 100644 (file)
@@ -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 (executable)
index 0000000..603986b
--- /dev/null
@@ -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 <<END_OF_DATA
+@tee /dev/null
+messages
+@tee tmp/log1.out
+label storage=File volume=TestVolume001
+run job=CompressedTest yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@tee tmp/log2.out
+sql
+select * from JobMedia;
+
+restore where=${cwd}/tmp/bacula-restores storage=File
+7
+<${cwd}/tmp/restore-list
+
+yes
+wait
+messages
+@tee
+quit
+END_OF_DATA
+bin/bacula stop 2>&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