]> git.sur5r.net Git - bacula/bacula/commitdiff
Add win32 test
authorKern Sibbald <kern@sibbald.com>
Fri, 22 Jul 2005 12:27:47 +0000 (12:27 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 22 Jul 2005 12:27:47 +0000 (12:27 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2235 91ce42f0-d328-0410-95d8-f526ca767f89

regress/all-non-root-tape-tests
regress/all-non-root-tests
regress/scripts/bacula-dir-win32-tape.conf.in [new file with mode: 0644]
regress/scripts/bacula-sd-win32-tape.conf.in [new file with mode: 0644]
regress/scripts/copy-win32-confs [new file with mode: 0755]
regress/scripts/do_sed
regress/tests/backup-win32-tape [new file with mode: 0755]

index 83a6acc2a8d1c85f33d2257f08e0a17fc5ef3530..5a64aad4c378a11a49ca58d3c538a5357753ea32 100755 (executable)
@@ -5,16 +5,16 @@
 cp test.out test1.out
 tests/test0
 tests/backup-bacula-tape
-tests/small-file-size-tape
-tests/restore-by-file-tape
-tests/incremental-tape
-tests/four-concurrent-jobs-tape
-tests/four-jobs-tape
-tests/fixed-block-size-tape
 tests/bscan-tape
 tests/btape-fill-tape
-tests/truncate-bug-tape
+tests/fixed-block-size-tape
+tests/four-concurrent-jobs-tape
+tests/four-jobs-tape
+tests/incremental-tape
 tests/relabel-tape
+tests/restore-by-file-tape
+tests/small-file-size-tape
+tests/truncate-bug-tape
 echo " "
 echo " "
 echo "Test results"
index c36f44045883c32b6bbd9fa08cb42af7732bca42..c93003c3ca880454f1aac304fbfef19b02ce50fe 100755 (executable)
@@ -3,32 +3,32 @@
 # Run all tests
 #
 tests/test0
+echo " "
+tests/auto-label-test
 tests/backup-bacula-test
-tests/verify-vol-test
-tests/sparse-test
-tests/compressed-test
-tests/sparse-compressed-test
-tests/weird-files-test
-tests/two-jobs-test
-tests/two-vol-test
-tests/six-vol-test
+tests/bextract-test
 tests/bscan-test
-tests/weird-files2-test
+tests/bsr-opt-test
+tests/compressed-test
 tests/concurrent-jobs-test
+tests/decremental-test
 tests/four-concurrent-jobs-test
-tests/bsr-opt-test
-tests/bextract-test
-tests/recycle-test
-tests/span-vol-test
-tests/restore-by-file-test
-tests/restore2-by-file-test
 tests/four-jobs-test
 tests/incremental-test
-tests/decremental-test
-tests/restore-disk-seek-test
 tests/query-test
-tests/auto-label-test
-echo " "
+tests/recycle-test
+tests/restore2-by-file-test
+tests/restore-by-file-test
+tests/restore-disk-seek-test
+tests/six-vol-test
+tests/span-vol-test
+tests/sparse-compressed-test
+tests/sparse-test
+tests/two-jobs-test
+tests/two-vol-test
+tests/verify-vol-test
+tests/weird-files2-test
+tests/weird-files-test
 echo " "
 echo "Test results"
 cat test.out
diff --git a/regress/scripts/bacula-dir-win32-tape.conf.in b/regress/scripts/bacula-dir-win32-tape.conf.in
new file mode 100644 (file)
index 0000000..0b1f6c5
--- /dev/null
@@ -0,0 +1,145 @@
+#
+# Default Bacula Director Configuration file
+#
+#  The only thing that MUST be changed is to add one or more
+#   file or directory names in the Include directive of the
+#   FileSet resource.
+#
+#  For Bacula release 1.33
+#
+#  You might also want to change the default email address
+#   from root to your address.  See the "mail" and "operator"
+#   directives in the Messages resource.
+#
+
+Director {                            # define myself
+  Name = HeadMan
+  DIRport = 8101                # where we listen for UA connections
+  QueryFile = "@scriptdir@/query.sql"
+  WorkingDirectory = "@working_dir@"
+  PidDirectory = "@piddir@"
+  Maximum Concurrent Jobs = 4
+  Password = "pNvX1WiXnwv2C/F7E52LGvw6rKjbbPvu2kyuPa9pVaL3"
+  Messages = Daemon
+}
+
+#
+# Define the main nightly save backup job
+#   By default, this job will back up to disk in /tmp
+Job {
+  Name = "NightlySave"
+  Type = Backup
+  Client=Tibs
+  FileSet="Full Set"
+  Storage = DDS-4
+  Messages = Standard
+  Pool = Default
+  Write Bootstrap = "@working_dir@/NightlySave.bsr"
+  Maximum Concurrent Jobs = 4
+  SpoolData = yes
+}
+
+
+# Standard Restore template, to be changed by Console program
+Job {
+  Name = "RestoreFiles"
+  Type = Restore
+  Client=Tibs
+  FileSet="Full Set"
+  Storage = DDS-4
+  Messages = Standard
+  Pool = Default
+  Where = /tmp/bacula-restores
+}
+
+
+# List of files to be backed up
+FileSet {
+  Name = "Full Set"
+  Enable VSS = yes
+  Include { Options { signature=MD5 }
+    File =  c:
+  }
+}
+
+
+#
+# When to do the backups, full backup on first sunday of the month,
+#  differential (i.e. incremental since full) every other sunday,
+#  and incremental backups other days
+Schedule {
+  Name = "WeeklyCycle"
+  Run = Full 1st sun at 1:05
+  Run = Differential 2nd-5th sun at 1:05
+  Run = Incremental mon-sat at 1:05
+}
+
+# Client (File Services) to backup
+Client {
+  Name = Tibs
+  Address = @hostname@
+  FDPort = 9102
+  Catalog = MyCatalog
+  Password = "EFMzurI0uuuQZkWK8KC2ZzOndK3DHR9EYK9M3oDJH8om"
+  File Retention = 30d                # 30 days
+  Job Retention = 180d                # six months
+  AutoPrune = yes                     # Prune expired Jobs/Files
+  Maximum Concurrent Jobs = 4
+}
+
+# Definition of DDS tape storage device
+Storage {
+  Name = DDS-4
+  Address = @hostname@                # N.B. Use a fully qualified name here
+  SDPort = 8103
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"          # password for Storage daemon
+  Device = DDS-4                      # must be same as Device in Storage daemon
+  Media Type = DDS-4                  # must be same as MediaType in Storage daemon
+  AutoChanger = yes
+  Maximum Concurrent Jobs = 4
+}
+
+
+# Generic catalog service
+Catalog {
+  Name = MyCatalog
+  dbname = bacula; user = bacula; password = ""
+}
+
+# Reasonable message delivery -- send most everything to email address
+#  and to the console
+Messages {
+  Name = Standard
+  mailcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: %t %e of %c %l\" %r"
+  operatorcommand = "@sbindir@/bsmtp -h localhost -f \"\(Bacula Regression\) %r\" -s \"Bacula: Intervention needed for %j\" %r"
+  MailOnError = @job_email@ = all, !terminate
+  operator = @job_email@ = mount
+  console = all, !skipped, !terminate, !restored
+#
+# WARNING! the following will create a file that you must cycle from
+#          time to time as it will grow indefinitely. However, it will
+#          also keep all your messages if the scroll off the console.
+#
+  append = "@working_dir@/log" = all, !skipped
+}
+
+#
+# Message delivery for daemon messages (no job).
+Messages {
+  Name = Daemon
+  mailcommand = "@sbindir@/bsmtp -h @smtp_host@ -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r"
+  mail = @job_email@ = all, !skipped            
+  console = all, !skipped, !saved
+  append = "@working_dir@/log" = all, !skipped
+}
+
+    
+# Default pool definition
+Pool {
+  Name = Default
+  Pool Type = Backup
+  Recycle = yes                       # Bacula can automatically recycle Volumes
+  AutoPrune = yes                     # Prune expired volumes
+  Volume Retention = 365d             # one year
+  Accept Any Volume = yes             # write on any volume in the pool
+}
diff --git a/regress/scripts/bacula-sd-win32-tape.conf.in b/regress/scripts/bacula-sd-win32-tape.conf.in
new file mode 100644 (file)
index 0000000..5bcd665
--- /dev/null
@@ -0,0 +1,54 @@
+#
+# Default Bacula Storage Daemon Configuration file
+#
+#  For Bacula release 1.33
+#
+# You may need to change the name of your tape drive
+#   on the "Archive Device" directive in the Device
+#   resource.  If you change the Name and/or the 
+#   "Media Type" in the Device resource, please ensure
+#   that dird.conf has corresponding changes.
+#
+
+Storage {                             # definition of myself
+  Name = @hostname@-sd
+  SDPort = 8103                  # Director's port      
+  WorkingDirectory = "@working_dir@"
+  Pid Directory = "@piddir@"
+  Subsys Directory = "@subsysdir@"
+}
+
+#
+# List Directors who are permitted to contact Storage daemon
+#
+Director {
+  Name = HeadMan
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+}
+
+#
+# Devices supported by this Storage daemon
+# To connect, the Director's bacula-dir.conf must have the
+#  same Name and MediaType. 
+#
+
+Device {
+  Name = DDS-4                     # 
+  Media Type = DDS-4
+  Archive Device = @tape_drive@
+  AutomaticMount = yes;               # when device opened, read it
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+# Maximum File Size = 1000000
+# MaximumVolumeSize = 100M
+}
+
+# 
+# Send all messages to the Director, 
+# mount messages also are sent to the email address
+#
+Messages {
+  Name = Standard
+  director = HeadMan = all, !terminate
+}
diff --git a/regress/scripts/copy-win32-confs b/regress/scripts/copy-win32-confs
new file mode 100755 (executable)
index 0000000..fc61267
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+/bin/cp -f scripts/bacula-dir-win32-tape.conf bin/bacula-dir.conf
+/bin/cp -f scripts/bacula-sd-win32-tape.conf bin/bacula-sd.conf
+/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
+/bin/cp -f scripts/bconsole-win32.conf bin/bconsole.conf
+touch bin/tape_options
index c5df3acaa54d1e314c47d3a426763070db14cb3a..7dfccb936fab88923036d990147629300f13af79 100755 (executable)
@@ -34,7 +34,9 @@ sed -f ${out} ${cwd}/scripts/test-bacula-fd.conf.in >${cwd}/scripts/test-bacula-
 sed -f ${out} ${cwd}/scripts/test-bacula-sd.conf.in >${cwd}/scripts/test-bacula-sd.conf
 sed -f ${out} ${cwd}/scripts/test-console.conf.in >${cwd}/scripts/test-console.conf
 sed -f ${out} ${cwd}/scripts/bacula-dir-tape.conf.in >${cwd}/scripts/bacula-dir-tape.conf
+sed -f ${out} ${cwd}/scripts/bacula-dir-win32-tape.conf.in >${cwd}/scripts/bacula-dir-win32-tape.conf
 sed -f ${out} ${cwd}/scripts/bacula-sd-tape.conf.in >${cwd}/scripts/bacula-sd-tape.conf
+sed -f ${out} ${cwd}/scripts/bacula-sd-win32-tape.conf.in >${cwd}/scripts/bacula-sd-win32-tape.conf
 sed -f ${out} ${cwd}/scripts/bacula-sd-2tape.conf.in >${cwd}/scripts/bacula-sd-2tape.conf
 sed -f ${out} ${cwd}/scripts/cleanup-tape.in >${cwd}/scripts/cleanup-tape
 sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape
diff --git a/regress/tests/backup-win32-tape b/regress/tests/backup-win32-tape
new file mode 100755 (executable)
index 0000000..42772d6
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory 
+#   to a tape then restore it, we do that twice to ensure that
+#   we can correctly append to a tape.
+#
+cwd=`pwd`
+scripts/copy-win32-confs
+scripts/cleanup-tape
+
+echo "${cwd}/build" >/tmp/file-list
+
+echo " "
+echo " "
+echo " === Starting Backup Win32 tape test at `date +%R:%S` ==="
+echo " === Starting Backup Win32 tape test at `date +%R:%S` ===" >>working/log
+echo " "
+
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@tee tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=0
+run job=NightlySave yes
+@sleep 10
+status storage=DDS-4
+wait
+messages
+@# 
+@# now do a restore
+@#
+@#output tmp/log2.out
+@#restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
+@#yes
+@#wait
+@#messages
+END_OF_DATA
+scripts/check_for_zombie_jobs storage=DDS-4
+
+bin/bacula stop 2>&1 >/dev/null
+grep "^  Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+if [ $bstat != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  !!!!! Backup Win32 tape test failed!!! !!!!! "
+   echo "  !!!!! Backup Win32 tape test failed!!! !!!!! " >>test.out
+   echo " "
+else
+   echo "  ===== Backup Win32 tape test OK ===== "
+   echo "  ===== Backup Win32 tape test OK ===== " >>test.out
+   scripts/cleanup
+fi