X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fweird-files-test;h=2292a3ac7d40fdc43596ee88f5c5dcb7ebdac4a2;hb=ade07b7afd278f819fbef347bd643c3328de54cb;hp=7237d40c3faca76c01f19fb9d103e250099947fd;hpb=aad9f1e554b743ab317b37b60d583e222de74985;p=bacula%2Fbacula diff --git a/regress/tests/weird-files-test b/regress/tests/weird-files-test index 7237d40c3f..2292a3ac7d 100755 --- a/regress/tests/weird-files-test +++ b/regress/tests/weird-files-test @@ -3,66 +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 -bin/drop_sqlite_tables -bin/make_sqlite_tables +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/console -c bin/console.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 current 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