]> git.sur5r.net Git - bacula/bacula/commitdiff
Add 2 drive test
authorKern Sibbald <kern@sibbald.com>
Wed, 3 Aug 2005 12:54:30 +0000 (12:54 +0000)
committerKern Sibbald <kern@sibbald.com>
Wed, 3 Aug 2005 12:54:30 +0000 (12:54 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@2283 91ce42f0-d328-0410-95d8-f526ca767f89

regress/tests/2drive-incremental-2tape [new file with mode: 0755]

diff --git a/regress/tests/2drive-incremental-2tape b/regress/tests/2drive-incremental-2tape
new file mode 100755 (executable)
index 0000000..1eed24f
--- /dev/null
@@ -0,0 +1,105 @@
+#!/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 autochanger and two tapes
+#
+debug=1
+if test "$debug" -eq 1 ; then
+  out="tee"
+else
+  out="output"
+fi
+cwd=`pwd`
+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 ..
+
+scripts/copy-2drive-confs
+scripts/cleanup-2drive
+echo "${cwd}/tmp/build" >/tmp/file-list
+if test ! -d ${cwd}/tmp/build ; then
+   mkdir ${cwd}/tmp/build
+fi
+cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
+cd ${cwd}/tmp
+echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
+echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
+cd ${cwd}
+
+echo " "
+echo " "
+echo " === Starting 2drive-incremental-2tape test ==="
+echo " === Starting 2drive-incremental-2tape test ===" >>working/log
+echo " "
+
+# Write out bconsole commands
+cat <<END_OF_DATA >tmp/bconcmds
+@$out /dev/null
+messages
+@$out tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=1 Pool=Default
+label storage=DDS-4 volume=TestVolume002 slot=2 Pool=Default
+run job=NightlySave yes
+wait
+messages
+quit
+END_OF_DATA
+
+if test "$debug" -eq 1 ; then
+  bin/bacula start
+  cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf
+else
+  bin/bacula start 2>&1 >/dev/null
+  cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf  2>&1 >/dev/null
+fi
+echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
+echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@$out /dev/null
+messages
+@$out tmp/log1.out
+@# Force Incremental on the second Volume
+update volume=TestVolume001 VolStatus=Used
+run level=Incremental job=NightlySave yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@$out tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores 
+7
+<${cwd}/tmp/restore-list
+
+yes
+wait
+messages
+@$out
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+grep "^  Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+grep "^  Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+rstat=$?
+#
+# Delete .c files because we will only restored the txt files
+#
+rm -f tmp/build/*.c
+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 "  !!!!! 2drive-incremental-2tape test Bacula source failed!!! !!!!! "
+   echo "  !!!!! 2drive-incremental-2tape test failed!!! !!!!! " >>test.out
+   echo " "
+else
+   echo "  ===== 2drive-incremental-2tape test Bacula source OK ===== "
+   echo "  ===== 2drive-incremental-2tape test OK ===== " >>test.out
+   scripts/cleanup
+fi