X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=regress%2Ftests%2Fweird-files-test;h=2292a3ac7d40fdc43596ee88f5c5dcb7ebdac4a2;hb=ade07b7afd278f819fbef347bd643c3328de54cb;hp=73a9bea3311f7906c88bf1cd9dbccb035ae1b582;hpb=bd1975d9d3da8162240c6e2895d1a97a209c7c92;p=bacula%2Fbacula diff --git a/regress/tests/weird-files-test b/regress/tests/weird-files-test index 73a9bea331..2292a3ac7d 100755 --- a/regress/tests/weird-files-test +++ b/regress/tests/weird-files-test @@ -3,69 +3,89 @@ # Run a simple backup of the Bacula build directory # then restore it. # +TestName="weird-files-test" +JobName=wierd-files +. scripts/functions + if test ! -d weird-files ; then echo " " echo "Weird files not configured. Test not run." exit 0 fi + cwd=`pwd` -scripts/copy-test-confs scripts/cleanup -echo "${cwd}/weird-files" >/tmp/file-list -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 +scripts/copy-test-confs +change_jobname NightlySave $JobName +# +# 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" >${cwd}/tmp/file-list +echo "${cwd}/weird-files" >>${cwd}/tmp/file-list + +# Create a Unix domain socket (sock-file) +cd weird-files +perl socket.pl cd .. -echo " " -echo " " -echo " === Starting weird filenames test ===" -echo " === Starting weird filenames test ===" >>working/log -echo " " +start_test -bin/bacula start 2>&1 >/dev/null -bin/bconsole -c bin/bconsole.conf <tmp/bconcmds +@$out /dev/null messages -@output tmp/log1.out +@$out tmp/log1.out label storage=File TestVolume001 -run job=NightlySave +run job=$JobName yes wait 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 quit END_OF_DATA -bin/bacula stop 2>&1 >/dev/null -${cwd}/bin/testls weird-files >${cwd}/tmp/original + +run_bacula +check_for_zombie_jobs storage=File +stop_bacula +# Note, the Unix domain socket (sock-file) is not restored +# by Bacula so we delete it for the diffs +rm -f weird-files/sock-file +touch weird-files tmp/bacula-restores${cwd}/weird-files + +${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 -bstat=$? -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 - echo " " - echo " " - echo " !!!!! Weird files test failed!!! !!!!! " - echo " !!!!! Weird files test failed!!! !!!!! " >>test.out - echo " " + +check_two_logs +if test "$debug" -eq 1; then + diff -u ${cwd}/tmp/original ${cwd}/tmp/restored + dstat=$? + if [ $dstat != 0 ] ; then + echo " " + echo "===== Original ======" + cat ${cwd}/tmp/original + echo "=====" + echo " " + echo "===== Restored ======" + cat ${cwd}/tmp/restored + echo "=====" + fi else - echo " ===== Weird files test OK ===== " - echo " ===== Weird files test OK ===== " >>test.out - cd ${cwd} - scripts/cleanup + diff -u ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null + dstat=$? fi +end_test