]> git.sur5r.net Git - bacula/bacula/commitdiff
Update
authorKern Sibbald <kern@sibbald.com>
Fri, 4 Jan 2008 15:09:29 +0000 (15:09 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 4 Jan 2008 15:09:29 +0000 (15:09 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6198 91ce42f0-d328-0410-95d8-f526ca767f89

regress/tests/2drive-2disk [new file with mode: 0755]
regress/tests/two-volume-tape
regress/tests/vol-duration-tape [new file with mode: 0755]

diff --git a/regress/tests/2drive-2disk b/regress/tests/2drive-2disk
new file mode 100755 (executable)
index 0000000..103768a
--- /dev/null
@@ -0,0 +1,94 @@
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory then create some           
+#   new files, do an Incremental and restore those two files.
+#
+# This script uses the virtual disk autochanger and two drives
+#
+TestName="2drive-2disk"
+JobName="2drive2disk"
+. scripts/functions
+
+scripts/cleanup
+scripts/copy-2disk-drive-confs
+scripts/prepare-two-disks
+
+change_jobname localhost-fd $JobName
+start_test
+
+echo "${cwd}/build" >${cwd}/tmp/file-list
+
+# Turn off Prefer Mounted Volumes so we use 2 drives
+outf="${cwd}/tmp/sed_tmp"
+echo "s%# Prefer Mounted Volumes%  Prefer Mounted Volumes%g" >${outf}
+cp ${cwd}/bin/bacula-dir.conf ${cwd}/tmp/1
+# Comment the next line out to write everything to one drive
+#  otherwise, it writes the two jobs to different drives
+sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-dir.conf
+
+# Write out bconsole commands
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@output /dev/null
+messages
+@$out ${cwd}/tmp/log1.out
+setdebug level=3 dir
+setdebug level=3 storage=DDS-4
+setdebug level=3 client
+label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default drive=1
+# label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=1
+status storage=DDS-4
+setdebug level=120 storage=DDS-4
+run job=NightlySave level=Full yes
+@sleep 1
+run job=NightlySave level=Full yes
+@sleep 1
+run job=NightlySave level=Full yes
+@sleep 1
+run job=NightlySave level=Full yes
+@sleep 1
+run job=NightlySave level=Full yes
+@sleep 3
+status storage=DDS-4
+wait
+list volumes
+list jobs
+status storage=DDS-4
+messages
+quit
+END_OF_DATA
+
+run_bacula
+
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out /dev/null
+messages
+@$out ${cwd}/tmp/log1.out
+@# Force Incremental on the second Volume
+# update volume=TestVolume001 VolStatus=Used
+status storage=DDS-4
+@#setdebug level=120 storage=DDS-4
+run level=Incremental job=NightlySave yes
+wait
+list volumes
+status storage=DDS-4
+messages
+@# 
+@# now do a restore
+@#
+@$out ${cwd}/tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all storage=DDS-4 done
+yes
+wait
+messages
+@$out
+quit
+END_OF_DATA
+
+run_bconsole
+check_for_zombie_jobs storage=DDS-4
+stop_bacula
+
+check_two_logs
+check_restore_diff
+
+end_test
index e6c5312e245b6df139b62fb57dd94127b50b9667..e20af2510caff16bc9ecc1dae7810b34aff4658d 100755 (executable)
@@ -10,7 +10,7 @@ JobName=twovoltape
 . scripts/functions
 
 if test x${AUTOCHANGER} = x/dev/null ; then
-   echo "two-volume-tape test skipped. No autochanger."
+   echo "${TestName} test skipped. No autochanger."
    exit
 fi
 
diff --git a/regress/tests/vol-duration-tape b/regress/tests/vol-duration-tape
new file mode 100755 (executable)
index 0000000..3c732b7
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory but 
+#   create two volumes and set a short Volume duration on
+#   the first so that it will be used, recycled.  Then
+#   Bug #1032 indicates it will get a changer error when
+#   loading the second volume. However, we cannot reproduce
+#   this problem.
+#
+# This test uses an autochanger
+#
+TestName="vol-duration-tape"
+JobName=VolDuration
+. scripts/functions
+
+if test x${AUTOCHANGER} = x/dev/null ; then
+   echo "$TestName test skipped. No autochanger."
+   exit
+fi
+
+scripts/cleanup
+scripts/copy-2tape-confs
+scripts/prepare-two-tapes
+
+echo "${cwd}/build" >${cwd}/tmp/file-list
+
+change_jobname NightlySave $JobName
+start_test
+
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@output /dev/null
+messages
+@$out ${cwd}/tmp/log1.out
+setdebug level=100 storage=DDS-4
+label storage=DDS-4 volume=TestVolume001 slot=1 pool=Default drive=0
+label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default drive=0
+update Volume=TestVolume001 VolUse=30
+update Volume=TestVolume002 VolUse=30
+run job=$JobName level=Full Storage=DDS-4 yes
+@sleep 31
+run job=$JobName level=Full Storage=DDS-4 yes
+wait
+messages
+list volumes
+@# 
+@# now do a restore
+@#
+@$out ${cwd}/tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select storage=DDS-4
+unmark *
+mark *
+done
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=DDS-4
+stop_bacula
+
+check_two_logs
+check_restore_diff
+end_test