X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fweird-files-test;h=920ca7c60a8d822cc1aa87736df84559e7572ffe;hb=7a16fb35362deb87447ecc537b71a7e9768aee50;hp=387fa3763eb076c56b55c394affbfead01a3b984;hpb=183f700668adce506818201f58dfcebbea014fd8;p=bacula%2Fbacula diff --git a/regress/tests/weird-files-test b/regress/tests/weird-files-test index 387fa3763e..920ca7c60a 100755 --- a/regress/tests/weird-files-test +++ b/regress/tests/weird-files-test @@ -3,69 +3,76 @@ # 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 storage=File +@$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 -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 " " -else - echo " ===== Weird files test OK ===== " - echo " ===== Weird files test OK ===== " >>test.out - cd ${cwd} - scripts/cleanup -fi + +check_two_logs +#diff -u ${cwd}/tmp/original ${cwd}/tmp/restored 2>&1 >/dev/null +diff -u ${cwd}/tmp/original ${cwd}/tmp/restored +dstat=$? +end_test