]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/tests/regexwhere-test
ebl Tweak the test to use "wait mount" instead of sleep
[bacula/bacula] / regress / tests / regexwhere-test
index ba85e19b674143bf038646631934665c2da1457f..5d6ffc488481af07a124a92c6ac473a251bea69b 100755 (executable)
@@ -7,16 +7,23 @@ TestName="regexwhere-test"
 JobName=backup
 
 . scripts/functions
-set_debug 0
-copy_test_confs
 
-rm -f bin/bacula-dir.conf
-rm -f tmp/RUN*
-rm -f ${cwd}/build/po/*old*
-rm -rf tmp/po
+scripts/cleanup
+scripts/copy-test-confs
+
 /bin/cp -f scripts/bacula-dir.conf.regexwhere bin/bacula-dir.conf
 
-echo "${cwd}/build/po" >/tmp/file-list
+#
+# Remove the !restored from the messages resource because
+#  this test needs the restored listing to verify the
+#  restore results
+#
+outf="${cwd}/tmp/sed_tmp"
+echo "s%, \!restored%%g" >${outf}
+cp ${cwd}/bin/bacula-fd.conf ${cwd}/tmp/1
+sed -f ${outf} ${cwd}/tmp/1 >${cwd}/bin/bacula-fd.conf
+
+echo "${cwd}/build/po" >tmp/file-list
 
 start_test
 
@@ -95,7 +102,7 @@ wait
 messages
 @##################################
 @$out tmp/RUN_JobG
-restore strip_prefix="${cwd}" add_prefix="/tmp/bacula-restore"
+restore strip_prefix="${cwd}" add_prefix="/tmp/bacula-restore.$$"
 5
 cd ${cwd}/build/po
 m *.po
@@ -146,7 +153,7 @@ mod
 @## Where 
 m
 9
-/tmp/bacula-restore-it
+tmp/bacula-restore-it
 m
 @## use add suffix
 10
@@ -160,18 +167,23 @@ messages
 quit
 END_OF_DATA
 
+run_bacula
 
-bin/bacula start
-cat tmp/bconcmds | bin/bconsole -c bin/bconsole.conf > /dev/null
 stop_bacula
 
-export dstat=0
-export bstat=0
-export rstat=0
+
+dstat=0
+bstat=0
+rstat=0
+export dstat
+export bstat
+export rstat
 
 J=JobA
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "${cwd}/build/po/fr.old.po" tmp/RUN_$J 
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "${cwd}/build/po/fr.old.po" tmp/RUN_$J > /dev/null
+
+if [ $? = 0 ] 
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -180,9 +192,10 @@ else
 fi
 
 J=JobB
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "tmp/bacula-restore${cwd}/po/fr.po.old" tmp/RUN_$J > /dev/null
 # $cwd begins with /
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "/tmp/bacula-restore${cwd}/po/fr.po.old" tmp/RUN_$J
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -191,8 +204,9 @@ else
 fi
 
 J=JobC
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "/tmp/bacula-restore${cwd}/build/po/fr.po" tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "tmp/bacula-restore${cwd}/build/po/fr.po" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -201,7 +215,8 @@ else
 fi
 
 J=JobD
-if grep -q "Restore Error"  tmp/RUN_$J
+grep "Restore Error"  tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -210,8 +225,9 @@ else
 fi
 
 J=JobE
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "${cwd}/tmp/fr.po"  tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "${cwd}/tmp/fr.po"  tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -220,8 +236,9 @@ else
 fi
 
 J=JobF
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "/tmp/regress/build/po/fr.po" tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "${cwd}/build/po/fr.po" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -230,18 +247,21 @@ else
 fi
 
 J=JobG
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "/tmp/bacula-restore/build/po/fr.po" tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "tmp/bacula-restore.$$/build/po/fr.po" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
    echo "$J in error"
    rstat=1
 fi
+rm -rf /tmp/bacula-restore.$$
 
 J=JobH
-if grep -q "Restore OK"  tmp/RUN_$J &&
-   grep -q "${cwd}/build/po/fr.po.old" tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -250,8 +270,9 @@ else
 fi
 
 J=JobI
-if grep  "Restore OK"  tmp/RUN_$J &&
-   grep  "${cwd}/build/po/fr.po.old" tmp/RUN_$J
+grep "Restore OK"  tmp/RUN_$J > /dev/null && \
+grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -261,10 +282,11 @@ fi
 
 
 J=JobJ
-if grep  "Restore OK"      tmp/RUN_$J &&
-   grep  "/etc/passwd.old" tmp/RUN_$J &&
-   grep  "Where:      /tmp/bacula-restore-it" tmp/RUN_$J &&
-   grep  "${cwd}/build/po/fr.po.old" tmp/RUN_$J
+grep "Restore OK"      tmp/RUN_$J > /dev/null && \
+grep "/etc/passwd.old" tmp/RUN_$J > /dev/null && \
+grep "Where: *tmp/bacula-restore-it" tmp/RUN_$J > /dev/null && \
+grep "${cwd}/build/po/fr.po.old" tmp/RUN_$J > /dev/null
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo $J ok
 else
@@ -275,10 +297,12 @@ fi
 # test with bregtest
 
 find ${cwd}/build > tmp/list
-sed -e 's/readme/readme/i' -e 's/\([ch]\)$/.old.\1/' tmp/list > /tmp/list.sed
-./build/src/tools/bregtest -s -f tmp/list -e '/readme/readme/i,/([ch])$/.old.$1/' > /tmp/list.bsed
+# thanks to BSD like system for that...
+sed -e 's/[Rr][Ee][Aa][Dd][Mm][Ee]/readme/' -e 's/\([ch]\)$/.old.\1/' tmp/list > tmp/list.sed
+./build/src/tools/bregtest -s -f tmp/list -e '/readme/readme/i,/([ch])$/.old.$1/' > tmp/list.bsed
 
-if diff -q tmp/list.bsed tmp/list.sed
+diff tmp/list.bsed tmp/list.sed >/dev/null 2>&1
+if [ $? = 0 ]
 then
     [ "$debug" = 1 ] && echo bregtest ok
 else
@@ -287,4 +311,4 @@ else
 
 fi
 
-end_test
\ No newline at end of file
+end_test