]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/scripts/prepare-two-tapes.in
Tweak
[bacula/bacula] / regress / scripts / prepare-two-tapes.in
index b937ea115ee900b0cadb23dddcd035127416837a..1093895ab7e08ba5b77187f71de793765c160d64 100755 (executable)
@@ -2,32 +2,55 @@
 #
 # Cleanup left over files -- both before and after test run
 #
+# Write an EOF on tape in slot $SLOT1  and  on tape in $SLOT2
 
 . scripts/functions
 
 scripts/cleanup
 
-if test x@autochanger@ != x/dev/null; then
-   slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ $DRIVE1`
-   if test "x${slot}" != "x$SLOT2"; then
-      bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ $DRIVE1
-      bin/@changer_script@ @autochanger@ load $SLOT2 @tape_drive@ $DRIVE1
-   fi
-
-   init_drive @tape_drive@
-fi
 
+# with disk-changer, we have to initialize slots
+init_slot @tape_drive@ $SLOT1
+init_slot @tape_drive@ $SLOT2
 
 #
-# If we have an autochanger always load tape in slot 1
+# init first of two slots
+# optimize so we don't unnecessarily unload and load slots
 #
 if test x@autochanger@ != x/dev/null; then
    slot=`bin/@changer_script@ @autochanger@ loaded 0 @tape_drive@ $DRIVE1`
-   if test "x${slot}" != "x$SLOT1"; then
+   case $slot in
+   0)
+      bin/@changer_script@ @autochanger@ load $SLOT1 @tape_drive@ $DRIVE1
+      slot=$SLOT1
+      ;;
+   $SLOT1)
+      slot=$SLOT1
+      ;;
+   $SLOT2)
+      slot=$SLOT2
+      ;;
+   *)
       bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ $DRIVE1
       bin/@changer_script@ @autochanger@ load $SLOT1 @tape_drive@ $DRIVE1
-   fi
-fi
+      slot=$SLOT1
+      ;;
+  esac
+  init_drive @tape_drive@
+  bin/@changer_script@ @autochanger@ unload $slot @tape_drive@ $DRIVE1
 
-init_drive @tape_drive@
 
+# init the other slot
+  case $slot in
+   $SLOT1)
+      bin/@changer_script@ @autochanger@ load $SLOT2 @tape_drive@ $DRIVE1
+      ;;
+   $SLOT2)
+      bin/@changer_script@ @autochanger@ load $SLOT1 @tape_drive@ $DRIVE1
+      ;;
+   *)
+      echo "Something went wrong. Expected $SLOT1 or $SLOT2, got $slot"
+      exit 1
+   esac
+   init_drive @tape_drive@
+fi