From 1fa5586c08cd88e87eb67550a99c6ce3269b4044 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Fri, 4 Jan 2008 15:09:29 +0000 Subject: [PATCH] Update git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6198 91ce42f0-d328-0410-95d8-f526ca767f89 --- regress/tests/2drive-2disk | 94 +++++++++++++++++++++++++++++++++ regress/tests/two-volume-tape | 2 +- regress/tests/vol-duration-tape | 66 +++++++++++++++++++++++ 3 files changed, 161 insertions(+), 1 deletion(-) create mode 100755 regress/tests/2drive-2disk create mode 100755 regress/tests/vol-duration-tape diff --git a/regress/tests/2drive-2disk b/regress/tests/2drive-2disk new file mode 100755 index 0000000000..103768afde --- /dev/null +++ b/regress/tests/2drive-2disk @@ -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 <${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 <${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 diff --git a/regress/tests/two-volume-tape b/regress/tests/two-volume-tape index e6c5312e24..e20af2510c 100755 --- a/regress/tests/two-volume-tape +++ b/regress/tests/two-volume-tape @@ -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 index 0000000000..3c732b7901 --- /dev/null +++ b/regress/tests/vol-duration-tape @@ -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 <${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 -- 2.39.5