X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Ftests%2Fweird-files-test;h=2292a3ac7d40fdc43596ee88f5c5dcb7ebdac4a2;hb=ade07b7afd278f819fbef347bd643c3328de54cb;hp=5c1f44793e54761ef7bc122674a51cfe819ff558;hpb=99315e9010cc655fd57346986dc4dc807838eecf;p=bacula%2Fbacula diff --git a/regress/tests/weird-files-test b/regress/tests/weird-files-test index 5c1f44793e..2292a3ac7d 100755 --- a/regress/tests/weird-files-test +++ b/regress/tests/weird-files-test @@ -3,34 +3,35 @@ # 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 +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 +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" >/tmp/file-list -echo "${cwd}/weird-files" >>/tmp/file-list +echo "${cwd}/weird-files" >${cwd}/tmp/file-list +echo "${cwd}/weird-files" >>${cwd}/tmp/file-list -echo " " -echo " " -echo " === Starting weird filenames test at `date +%R:%S` ===" -echo " === Starting weird filenames test at `date +%R:%S` ===" >>working/log -echo " " +# Create a Unix domain socket (sock-file) +cd weird-files +perl socket.pl +cd .. + +start_test cat <tmp/bconcmds @$out /dev/null @@ -38,7 +39,7 @@ messages @$out tmp/log1.out label storage=File TestVolume001 -run job=NightlySave +run job=$JobName yes wait messages @@ -53,43 +54,38 @@ done yes wait messages -@$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 + +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 | 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 - 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 " " + +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