X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2Fscripts%2Ffunctions;h=c544183f17d997e87b7bde6645b54771a93750af;hb=46ca5543e540fe87ace0d6b2b104a6147b4d1a7e;hp=721e46e0def04f701d97910193dbccd9354ef0ac;hpb=d5cc51c797d07fbceeee3d5edd8c246e0552a907;p=bacula%2Fbacula diff --git a/regress/scripts/functions b/regress/scripts/functions index 721e46e0de..c544183f17 100644 --- a/regress/scripts/functions +++ b/regress/scripts/functions @@ -4,11 +4,18 @@ start_test() { + # Turn off email + outf="tmp/sed_tmp" + echo "s% mail =%# mail = %g" >${outf} + echo "s% operator =%# operator =%g" >>${outf} + cp bin/bacula-dir.conf tmp/1 + sed -f ${outf} tmp/1 >bin/bacula-dir.conf echo " " echo " " echo " === Starting $TestName at `date +%R:%S` ===" echo " === Starting $TestName at `date +%R:%S` ===" >>working/log echo " " + export zstat } require_root() @@ -24,6 +31,38 @@ if [ $MUID != 0 ] ; then fi } +require_tape_drive() +{ +if test x${TAPE_DRIVE} = x/dev/null ; then + echo "$TestName test needs a tape drive, but has none." + exit 1 +fi +} + +require_second_drive() +{ +if test x${TAPE_DRIVE1} = x/dev/null ; then + echo "$JobName needs second drive, but has none." + exit 1 +fi +} + +require_autochanger() +{ +if test x${AUTOCHANGER} = x/dev/null ; then + echo "$TestName needs an autochanger, but has none." + exit 1 +fi +} + + +skip_if_no_autochanger() +{ +if test x${AUTOCHANGER} = x/dev/null ; then + echo "$TestName test skipped. No autochanger." + exit +fi +} set_debug() { @@ -35,9 +74,17 @@ set_debug() fi } +print_debug() +{ + if test "$debug" -eq 1 ; then + echo $* + fi +} + run_bacula() { debug_wait + zstat=0 if test "$debug" -eq 1 ; then bin/bacula-ctl-sd start bin/bacula-ctl-fd start @@ -76,6 +123,21 @@ run_bscan() fi } +bscan_libdbi() +{ + B=`echo $LIBDBI | sed 's/;//' | sed 's/;//g'` + B_D=`echo $B | awk '{print $3}'` + B_t=`echo $B | awk '{print $6}'` + B_p=`echo $B | awk '{print $9}'` + + BSCANLIBDBI="${LIBDBI:+1}" + + if test "$BSCANLIBDBI" = "1" ; then + BSCANLIBDBI="-D $B_D -h $B_t -t $B_p" + else + BSCANLIBDBI=" " + fi +} stop_bacula() { @@ -107,13 +169,17 @@ check_two_logs() { grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null bstat=$? + grep "^ Termination: .*Backup Error" tmp/log1.out 2>&1 >/dev/null + if test $? -eq 0; then + bstat=2 + fi grep "^ Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null rstat=$? grep "^ Termination: *Restore OK -- warning file count mismatch" tmp/log2.out 2>&1 >/dev/null if test $? -eq 0; then rstat=2 fi - grep "^ Termination: *Verify Differences" tmp/log2.out 2>&1 >/dev/null + grep "^ Termination: .*Verify Differences" tmp/log2.out 2>&1 >/dev/null if test $? -eq 0; then rstat=3 fi @@ -133,6 +199,14 @@ check_restore_tmp_build_diff() end_test() { + if [ $zstat != 0 ] ; then + echo " " + echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " + echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " >>test.out + echo " Status: zombie=$zstat backup=$bstat restore=$rstat diff=$dstat" >>test.out + echo " " + exit 1 + fi if [ $dstat != 0 -o $bstat != 0 -o $rstat != 0 ] ; then echo " " echo " " @@ -141,15 +215,14 @@ end_test() if [ $bstat != 0 -o $rstat != 0 ] ; then echo " !!!!! Bad termination status !!!!! " echo " !!!!! Bad termination status !!!!! " >>test.out - echo " Status: backup=$bstat restore=$rstat diff=$dstat" - echo " Status: backup=$bstat restore=$rstat diff=$dstat" >>test.out else echo " !!!!! Restored files differ !!!!! " echo " !!!!! Restored files differ !!!!! " >>test.out - echo " Status: backup=$bstat restore=$rstat diff=$dstat" - echo " Status: backup=$bstat restore=$rstat diff=$dstat" >>test.out fi + echo " Status: backup=$bstat restore=$rstat diff=$dstat" + echo " Status: backup=$bstat restore=$rstat diff=$dstat" >>test.out echo " " + exit 1 else echo " ===== $TestName OK `date +%R:%S` ===== " echo " ===== $TestName OK `date +%R:%S` ===== " >>test.out @@ -179,6 +252,16 @@ debug_wait() fi } +init_drive() +{ + if test a$USE_FAKETAPE = a; then + mt -f $1 rewind + mt -f $1 weof + else + cp /dev/null $1 + fi +} + # Save current directory cwd=`pwd` if test "x${REGRESS_DEBUG}" = "x1"; then