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()
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()
{
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
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()
{
{
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
+ if test $? -eq 0; then
+ rstat=3
+ fi
}
check_restore_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 " "
- echo " !!!!! $TestName failed!!! !!!!! "
- echo " !!!!! $TestName failed!!! !!!!! " >>test.out
+ echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! "
+ echo " !!!!! $TestName failed!!! `date +%R:%S` !!!!! " >>test.out
if [ $bstat != 0 -o $rstat != 0 ] ; then
- echo " !!!!! Bad Job termination status !!!!! "
- echo " !!!!! Bad Job termination status !!!!! " >>test.out
- echo " bstat=$bstat rstat=$rstat dstat=$dstat"
+ echo " !!!!! Bad termination status !!!!! "
+ echo " !!!!! Bad termination status !!!!! " >>test.out
else
echo " !!!!! Restored files differ !!!!! "
echo " !!!!! Restored files differ !!!!! " >>test.out
- echo " bstat=$bstat rstat=$rstat dstat=$dstat"
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
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