From: Eric Bollengier Date: Sat, 31 May 2008 12:51:01 +0000 (+0000) Subject: ebl Prepare 2.2 for faketape testing X-Git-Tag: Release-2.4.0~13 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=79e171927b6369426299a7481e7f12c4b9496b63;p=bacula%2Fbacula ebl Prepare 2.2 for faketape testing git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/branches/Branch-2.2@7072 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/regress/scripts/bacula-sd-2d.conf.in b/regress/scripts/bacula-sd-2d.conf.in index 466b68fcc6..bb80a48ebb 100644 --- a/regress/scripts/bacula-sd-2d.conf.in +++ b/regress/scripts/bacula-sd-2d.conf.in @@ -31,7 +31,7 @@ Director { Autochanger { Name = DDS-4 Changer Device = @autochanger@ - Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d" + Changer Command ="@scriptdir@/@changer_script@ %c %o %S %a %d" Device = Drive-0 } diff --git a/regress/scripts/bacula-sd-2drive.conf.in b/regress/scripts/bacula-sd-2drive.conf.in index 8ee4dbd629..12d2e8d6c7 100644 --- a/regress/scripts/bacula-sd-2drive.conf.in +++ b/regress/scripts/bacula-sd-2drive.conf.in @@ -34,7 +34,7 @@ Director { Autochanger { Name = DDS-4 Changer Device = @autochanger@ - Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d" + Changer Command ="@scriptdir@/@changer_script@ %c %o %S %a %d" Device = Drive-0, Drive-1 } diff --git a/regress/scripts/bacula-sd-2tape.conf.in b/regress/scripts/bacula-sd-2tape.conf.in index 4abd813945..07a50c4085 100644 --- a/regress/scripts/bacula-sd-2tape.conf.in +++ b/regress/scripts/bacula-sd-2tape.conf.in @@ -34,7 +34,7 @@ Director { Autochanger { Name = DDS-4 Changer Device = @autochanger@ - Changer Command ="@scriptdir@/mtx-changer %c %o %S %a %d" + Changer Command ="@scriptdir@/@changer_script@ %c %o %S %a %d" Device = Drive-0 } diff --git a/regress/scripts/cleanup-2drive.in b/regress/scripts/cleanup-2drive.in index 32b27c019e..2e485e82a9 100755 --- a/regress/scripts/cleanup-2drive.in +++ b/regress/scripts/cleanup-2drive.in @@ -5,40 +5,40 @@ scripts/cleanup if test x@autochanger@ != x/dev/null; then - slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive1@ 1` echo "Slot $slot in drive 1" if test x$slot != x0 ; then echo "unload slot $slot in drive 1" - bin/mtx-changer @autochanger@ unload $slot @tape_drive1@ 1 + bin/@changer_script@ @autochanger@ unload $slot @tape_drive1@ 1 fi - slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive@ 0` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ 0` echo "Slot $slot in drive 0" if test x$slot != x0 ; then echo "unload slot $slot in drive 0" - bin/mtx-changer @autochanger@ unload $slot @tape_drive@ 0 + bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ 0 fi - slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive1@ 1` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive1@ 1` if test x$slot != x2; then echo "load slot 2 in drive 1" - bin/mtx-changer @autochanger@ load 2 @tape_drive1@ 1 + bin/@changer_script@ @autochanger@ load 2 @tape_drive1@ 1 fi echo "WEOF drive 1" - mt -f @tape_drive1@ rewind - mt -f @tape_drive1@ weof + init_drive @tape_drive1@ + echo "unload slot 2 in drive 1" - bin/mtx-changer @autochanger@ unload 2 @tape_drive1@ 1 + bin/@changer_script@ @autochanger@ unload 2 @tape_drive1@ 1 - slot=`bin/mtx-changer @autochanger@ loaded 0 @tape_drive@ 0` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ 0` echo "Slot $slot in drive 0" if test x$slot != x1; then echo "load slot 1 in drive 0" - bin/mtx-changer @autochanger@ load 1 @tape_drive@ 0 + bin/@changer_script@ @autochanger@ load 1 @tape_drive@ 0 fi echo "WEOF drive 0" - mt -f @tape_drive@ rewind - mt -f @tape_drive@ weof + init_drive @tape_drive@ + echo "unload slot 1 from drive 0" - bin/mtx-changer @autochanger@ unload 1 @tape_drive@ 0 + bin/@changer_script@ @autochanger@ unload 1 @tape_drive@ 0 fi diff --git a/regress/scripts/cleanup-2tape.in b/regress/scripts/cleanup-2tape.in index 28eea0b593..b937ea115e 100755 --- a/regress/scripts/cleanup-2tape.in +++ b/regress/scripts/cleanup-2tape.in @@ -8,13 +8,13 @@ scripts/cleanup if test x@autochanger@ != x/dev/null; then - slot=`bin/mtx-changer @autochanger@ loaded 0 dummy $DRIVE1` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ $DRIVE1` if test "x${slot}" != "x$SLOT2"; then - bin/mtx-changer @autochanger@ unload $slot @tape_drive@ $DRIVE1 - bin/mtx-changer @autochanger@ load $SLOT2 @tape_drive@ $DRIVE1 + bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ $DRIVE1 + bin/@changer_script@ @autochanger@ load $SLOT2 @tape_drive@ $DRIVE1 fi - mt -f @tape_drive@ rewind - mt -f @tape_drive@ weof + + init_drive @tape_drive@ fi @@ -22,12 +22,12 @@ fi # If we have an autochanger always load tape in slot 1 # if test x@autochanger@ != x/dev/null; then - slot=`bin/mtx-changer @autochanger@ loaded 0 dummy $DRIVE1` + slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ $DRIVE1` if test "x${slot}" != "x$SLOT1"; then - bin/mtx-changer @autochanger@ unload $slot @tape_drive@ $DRIVE1 - bin/mtx-changer @autochanger@ load $SLOT1 @tape_drive@ $DRIVE1 + bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ $DRIVE1 + bin/@changer_script@ @autochanger@ load $SLOT1 @tape_drive@ $DRIVE1 fi fi -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof +init_drive @tape_drive@ + diff --git a/regress/scripts/cleanup-tape.in b/regress/scripts/cleanup-tape.in index e5ebe56344..310731c917 100755 --- a/regress/scripts/cleanup-tape.in +++ b/regress/scripts/cleanup-tape.in @@ -2,15 +2,16 @@ # # Cleanup left over files -- both before and after test run # -. ./config +. scripts/functions scripts/cleanup if test "x@autochanger@" != "x/dev/null" ; then - a=`bin/mtx-changer @autochanger@ loaded $SLOT1 @tape_drive@ 0` + a=`bin/@changer_script@ @autochanger@ loaded $SLOT1 @tape_drive@ 0` if test $a = 0 ; then - bin/mtx-changer @autochanger@ load $SLOT1 @tape_drive@ 0 + bin/@changer_script@ @autochanger@ load $SLOT1 @tape_drive@ 0 fi fi -mt -f @tape_drive@ rewind -mt -f @tape_drive@ weof + +init_drive @tape_drive@ + diff --git a/regress/scripts/create_sed b/regress/scripts/create_sed index f672ecc4fd..c89bf485ae 100755 --- a/regress/scripts/create_sed +++ b/regress/scripts/create_sed @@ -10,6 +10,7 @@ out="${cwd}/tmp/sed_tmp" # set the ports used by these tests BASEPORT=${BASEPORT:-8101} +AUTOCHANGER_SCRIPT=${AUTOCHANGER_SCRIPT:-mtx-changer} srcdir=${BACULA_SOURCE} dirport=${BASEPORT} fdport=`expr ${BASEPORT} '+' 1` @@ -28,6 +29,7 @@ echo "s%@subsysdir@%${cwd}/working%g" >>${out} echo "s%@job_email@%${EMAIL}%g" >>${out} echo "s%@tape_drive@%${TAPE_DRIVE}%g" >>${out} echo "s%@autochanger@%${AUTOCHANGER}%g" >>${out} +echo "s%@changer_script@%${AUTOCHANGER_SCRIPT}%g" >>${out} echo "s%@tmpdir@%${cwd}/tmp%g" >>${out} echo "s%@hostname@%${HOST}%g" >>${out} echo "s%@changer_path@%${AUTOCHANGER_PATH}%g" >>${out} diff --git a/regress/scripts/do_sed b/regress/scripts/do_sed index 902f989af4..2236d49675 100755 --- a/regress/scripts/do_sed +++ b/regress/scripts/do_sed @@ -37,6 +37,7 @@ sed -f ${out} ${cwd}/scripts/cleanup-tape.in >${cwd}/scripts/cleanup-tape sed -f ${out} ${cwd}/scripts/cleanup-2tape.in >${cwd}/scripts/cleanup-2tape sed -f ${out} ${cwd}/scripts/cleanup-2drive.in >${cwd}/scripts/cleanup-2drive sed -f ${out} ${cwd}/scripts/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes +sed -f ${out} ${cwd}/scripts/prepare-fake-autochanger.in >${cwd}/scripts/prepare-fake-autochanger sed -f ${out} ${cwd}/scripts/bacula-dir.conf.testrunscript.in >${cwd}/scripts/bacula-dir.conf.testrunscript sed -f ${out} ${cwd}/scripts/tls-bacula-fd.conf.in >${cwd}/scripts/tls-bacula-fd.conf diff --git a/regress/scripts/functions b/regress/scripts/functions index ec5d4d3667..11c3789623 100644 --- a/regress/scripts/functions +++ b/regress/scripts/functions @@ -55,6 +55,13 @@ if test x${AUTOCHANGER} = x/dev/null ; then fi } +require_faketape() +{ +if test x${USE_FAKETAPE} = x ; then + echo "$TestName test needs the faketape driver." + exit 1 +fi +} skip_if_no_autochanger() { @@ -237,6 +244,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 diff --git a/regress/scripts/prepare-fake-autochanger.in b/regress/scripts/prepare-fake-autochanger.in new file mode 100644 index 0000000000..799dbd2f3f --- /dev/null +++ b/regress/scripts/prepare-fake-autochanger.in @@ -0,0 +1,42 @@ +#!/bin/sh +# +# This script will prepare a big dummy autochanger +# + +. scripts/functions + +# check if user wants to run this test +if test x$USE_FAKETAPE = x; then + exit 1 +fi + +adir=@working_dir@/ach + +mkdir $adir 2> /dev/null +rm -f $adir/log $adir/barcodes $adir/load* $adir/slot* $adir/drive* 2> /dev/null + +# create the autochanger configuration file +cat > $adir/conf <> $adir/barcodes + cp /dev/null $adir/slot$i +done + +# make a cleaning tape +echo 76:CLN01 >> $adir/barcodes +cp /dev/null $adir/slot76 + +# keep other empty +for i in `seq 77 79`; do + echo $i: >> $adir/barcodes +done +