From b648c7a226c5a62dc6b7f4ef8c3c3794eb7ef880 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 22 Jul 2005 12:27:47 +0000 Subject: [PATCH] Add win32 test git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2235 91ce42f0-d328-0410-95d8-f526ca767f89 --- regress/all-non-root-tape-tests | 14 +- regress/all-non-root-tests | 38 ++--- regress/scripts/bacula-dir-win32-tape.conf.in | 145 ++++++++++++++++++ regress/scripts/bacula-sd-win32-tape.conf.in | 54 +++++++ regress/scripts/copy-win32-confs | 6 + regress/scripts/do_sed | 2 + regress/tests/backup-win32-tape | 54 +++++++ 7 files changed, 287 insertions(+), 26 deletions(-) create mode 100644 regress/scripts/bacula-dir-win32-tape.conf.in create mode 100644 regress/scripts/bacula-sd-win32-tape.conf.in create mode 100755 regress/scripts/copy-win32-confs create mode 100755 regress/tests/backup-win32-tape diff --git a/regress/all-non-root-tape-tests b/regress/all-non-root-tape-tests index 83a6acc2a8..5a64aad4c3 100755 --- a/regress/all-non-root-tape-tests +++ b/regress/all-non-root-tape-tests @@ -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" diff --git a/regress/all-non-root-tests b/regress/all-non-root-tests index c36f440458..c93003c3ca 100755 --- a/regress/all-non-root-tests +++ b/regress/all-non-root-tests @@ -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 index 0000000000..0b1f6c59ed --- /dev/null +++ b/regress/scripts/bacula-dir-win32-tape.conf.in @@ -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 index 0000000000..5bcd6652b6 --- /dev/null +++ b/regress/scripts/bacula-sd-win32-tape.conf.in @@ -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 index 0000000000..fc6126759f --- /dev/null +++ b/regress/scripts/copy-win32-confs @@ -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 diff --git a/regress/scripts/do_sed b/regress/scripts/do_sed index c5df3acaa5..7dfccb936f 100755 --- a/regress/scripts/do_sed +++ b/regress/scripts/do_sed @@ -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 index 0000000000..42772d695a --- /dev/null +++ b/regress/tests/backup-win32-tape @@ -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 <&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 -- 2.39.5