]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/weird-files-test
Final changes
[bacula/bacula] / regress / tests / weird-files-test
index 4e81c0a3973bad874eb3700b0a57af02e4aa69db..c8d10aea70306d0fa66e4f66178dabc5095b98bf 100755 (executable)
@@ -3,6 +3,12 @@
 # Run a simple backup of the Bacula build directory
 #   then restore it.
 #
+debug=0
+if test "$debug" -eq 1 ; then
+  out="tee"
+else
+  out="output"
+fi
 if test ! -d weird-files ; then
    echo " "
    echo "Weird files not configured. Test not run."
@@ -11,22 +17,25 @@ fi
 cwd=`pwd`
 scripts/copy-test-confs
 scripts/cleanup
+#
+# Note, we save the weird-files directory twice on purpose
+#  because this causes problems with hard linked files 
+#  that are only saved once.  In 1.33, Bacula now deals
+#  with this situation.
+#
 echo "${cwd}/weird-files" >/tmp/file-list
-bin/bacula stop 2>&1 >/dev/null
-bin/drop_sqlite_tables
-bin/make_sqlite_tables
+echo "${cwd}/weird-files" >>/tmp/file-list
 
 echo " "
 echo " "
-echo " === Starting weird filenames test ==="
-echo " === Starting weird filenames test ===" >>working/log
+echo " === Starting weird filenames test at `date +%R:%S` ==="
+echo " === Starting weird filenames test at `date +%R:%S` ===" >>working/log
 echo " "
 
-bin/bacula start 2>&1 >/dev/null
-bin/console -c bin/console.conf <<END_OF_DATA
-@output /dev/null
+cat <<END_OF_DATA >tmp/bconcmds
+@$out /dev/null
 messages
-@output tmp/log1.out
+@$out tmp/log1.out
 label storage=File
 TestVolume001
 run job=NightlySave
@@ -36,22 +45,33 @@ messages
 @# 
 @# now do a restore
 @#
-@output tmp/log2.out
-restore where=${cwd}/tmp/bacula-restores select all
+@$out tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select storage=File
+unmark *
+mark *
+done
 yes
 wait
 messages
-@output
+@$out
 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
+scripts/check_for_zombie_jobs storage=File 
 bin/bacula stop 2>&1 >/dev/null
-${cwd}/bin/testls weird-files >${cwd}/tmp/original
+${cwd}/bin/testls weird-files | sort >${cwd}/tmp/original
 cd tmp/bacula-restores${cwd}
-${cwd}/bin/testls weird-files >${cwd}/tmp/restored
+${cwd}/bin/testls weird-files | sort >${cwd}/tmp/restored
 cd ${cwd}
-grep "^Termination: *Backup OK" tmp/log1.out 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
+grep "^  Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
 rstat=$?
 diff ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null
 if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
@@ -59,6 +79,13 @@ if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
    echo " "
    echo "  !!!!! Weird files test failed!!! !!!!! "
    echo "  !!!!! Weird files test failed!!! !!!!! " >>test.out
+   if [ $bstat != 0 -o $rstat != 0 ] ; then
+      echo "  !!!!! Bad Job termination status     !!!!! "
+      echo "  !!!!! Bad Job termination status     !!!!! " >>test.out
+   else
+      echo "  !!!!! Restored files differ          !!!!! "
+      echo "  !!!!! Restored files differ          !!!!! " >>test.out
+   fi
    echo " "
 else
    echo "  ===== Weird files test OK ===== "