--- /dev/null
+#!/bin/sh
+#
+# Run all tape tests
+#
+tests/test0
+tests/two-volume-tape
+tests/incremental-2tape
+echo " "
+echo " "
+echo "2 Tape Test results"
+cat test.out
+scripts/cleanup
 
 tests/test0
 tests/backup-bacula-tape
 tests/small-file-size-tape
-tests/two-volume-tape
 tests/restore-by-file-tape
+tests/incremental-tape
+tests/four-concurrent-jobs-tape
+tests/four-jobs-tape
 echo " "
 echo " "
 echo "Test results"
 
 tests/dev-test-root
 tests/etc-test-root
 tests/lib-test-root
+tests/usr-tape-root
 cat test.out
 scripts/cleanup
 
 bacula-fd.conf
 bacula-sd.conf
 console.conf
+bconsole.conf
 test-bacula-dir.conf
 test-bacula-fd.conf
 test-bacula-sd.conf
 testa-bacula-dir.conf
 bacula-dir-tape.conf
 bacula-sd-tape.conf
+bacula-sd-2tape.conf
 cleanup-tape
+cleanup-2tape
 prepare-two-tapes
 
   Device = DDS-4                      # must be same as Device in Storage daemon
   Media Type = DDS-4                  # must be same as MediaType in Storage daemon
   AutoChanger = yes
+  Maximum Concurrent Jobs = 4
 }
 
 
 
--- /dev/null
+#
+# Default Bacula Storage Daemon Configuration file
+#
+#  For Bacula release 1.30 (12 April 2003) -- redhat 7.3
+#
+# You may need to change the name of your tape drive
+#   on the "Archive Device" directive in the Device
+#   resource.  If you change the Name and/or the 
+#   "Media Type" in the Device resource, please ensure
+#   that dird.conf has corresponding changes.
+#
+
+Storage {                             # definition of myself
+  Name = @hostname@-sd
+  SDPort = 8103                  # Director's port      
+  WorkingDirectory = "@working_dir@"
+  Pid Directory = "@piddir@"
+  Subsys Directory = "@subsysdir@"
+}
+
+#
+# List Directors who are permitted to contact Storage daemon
+#
+Director {
+  Name = @hostname@-dir
+  Password = "ccV3lVTsQRsdIUGyab0N4sMDavui2hOBkmpBU0aQKOr9"
+}
+
+#
+# Devices supported by this Storage daemon
+# To connect, the Director's bacula-dir.conf must have the
+#  same Name and MediaType. 
+#
+
+Device {
+  Name = DDS-4                     # 
+  Media Type = DDS-4
+  Changer Device = @autochanger@
+  Changer Command ="@scriptdir@/mtx-changer %c %o %S %a"
+  Archive Device = @tape_drive@
+  AutomaticMount = yes;               # when device opened, read it
+  AlwaysOpen = yes;
+  RemovableMedia = yes;
+  @@sbindir@/tape_options
+# Maximum File Size = 1000000
+}
+
+# 
+# Send all messages to the Director, 
+# mount messages also are sent to the email address
+#
+Messages {
+  Name = Standard
+  director = @hostname@-dir = all
+}
 
 Device {
   Name = DDS-4                     # 
   Media Type = DDS-4
-  Changer Device = @autochanger@
-  Changer Command ="@scriptdir@/mtx-changer %c %o %S %a"
   Archive Device = @tape_drive@
   AutomaticMount = yes;               # when device opened, read it
   AlwaysOpen = yes;
 
--- /dev/null
+#!/bin/sh
+#
+# Cleanup left over files -- both before and after test run
+#
+rm -rf /tmp/TestVolume001 /tmp/bacula-restores /tmp/Small*
+rm -rf tmp/original tmp/bacula-restores tmp/Small* tmp/TestVolume*
+rm -rf tmp/restored tmp/largefile tmp/bscan.bsr tmp/log*.out
+
+if ! test x@autochanger@ = x/dev/null; then
+   drive=`bin/mtx-changer @autochanger@ loaded`
+   if ! test x$drive = x2; then
+      bin/mtx-changer @autochanger@ unload
+      bin/mtx-changer @autochanger@ load 2
+   fi
+   mt -f @tape_drive@ rewind
+   mt -f @tape_drive@ weof
+fi
+
+
+#
+# If we have an autochanger always load tape in slot 1
+#
+if ! test x@autochanger@ = x/dev/null; then
+   drive=`bin/mtx-changer @autochanger@ loaded`
+   if ! test x$drive = x1; then
+      bin/mtx-changer @autochanger@ unload
+      bin/mtx-changer @autochanger@ load 1
+   fi
+fi
+
+mt -f @tape_drive@ rewind
+mt -f @tape_drive@ weof
 
 rm -rf tmp/original tmp/bacula-restores tmp/Small* tmp/TestVolume*
 rm -rf tmp/restored tmp/largefile tmp/bscan.bsr tmp/log*.out
 
-#
-# If we have an autochanger always load tape in slot 1
-#
-if ! test x@autochanger@ = x/dev/null; then
-   drive=`bin/mtx-changer @autochanger@ loaded`
-   if ! test x$drive = x1; then
-      bin/mtx-changer @autochanger@ unload
-      bin/mtx-changer @autochanger@ load 1
-   fi
-fi
-
 mt -f @tape_drive@ rewind
 mt -f @tape_drive@ weof
 
--- /dev/null
+#!/bin/sh
+/bin/cp -f scripts/bacula-dir-tape.conf bin/bacula-dir.conf
+/bin/cp -f scripts/bacula-sd-2tape.conf bin/bacula-sd.conf
+/bin/cp -f scripts/test-bacula-fd.conf bin/bacula-fd.conf
+/bin/cp -f scripts/test-console.conf bin/bconsole.conf
 
 sed -f ${out} ${cwd}/scripts/test-console.conf.in >${cwd}/scripts/test-console.conf
 sed -f ${out} ${cwd}/scripts/bacula-dir-tape.conf.in >${cwd}/scripts/bacula-dir-tape.conf
 sed -f ${out} ${cwd}/scripts/bacula-sd-tape.conf.in >${cwd}/scripts/bacula-sd-tape.conf
+sed -f ${out} ${cwd}/scripts/bacula-sd-2tape.conf.in >${cwd}/scripts/bacula-sd-2tape.conf
 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/prepare-two-tapes.in >${cwd}/scripts/prepare-two-tapes
 cp ${cwd}/bin/bacula-sd.conf /tmp/bac$$
 sed s%/tmp%${cwd}/tmp%g /tmp/bac$$ >${cwd}/bin/bacula-sd.conf
-chmod 777 ${cwd}/scripts/cleanup-tape ${cwd}/scripts/prepare-two-tapes
+chmod 777 ${cwd}/scripts/cleanup-*tape ${cwd}/scripts/prepare-two-tapes
 rm -f /tmp/bac$$
 cp ${cwd}/bin/mtx-changer /tmp/bac$$
 sed "s%^MTX.*$%MTX=${4}%g" /tmp/bac$$ >${cwd}/bin/mtx-changer
 
 Hardware End of Medium = no
+Fast Forward Space File = no
 BSF at EOM = yes
 Backward Space Record = no
 
 quit
 END_OF_DATA
 bin/bacula stop 2>&1 >/dev/null
-grep TestVolume001 working/restore.bsr 2>&1 >/dev/null
+#
+# This test is not really reliable. What we want to do is
+#   to select files on only one Volume, then insure here
+#   that only one Volume is chosen.
+#
+grep TestVolume002 working/restore.bsr 2>&1 >/dev/null
 bsrstat=$?
 grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
 bstat=$?
 
--- /dev/null
+#!/bin/sh
+#
+# Run two jobs at the same time
+#
+cwd=`pwd`
+bin/bacula stop 2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+scripts/copy-tape-confs
+scripts/cleanup-tape
+echo "${cwd}/build" >/tmp/file-list
+
+echo " "
+echo " "
+echo " === Starting four-concurent-jobs-tape  ==="
+echo " === Starting four-concurent-jobs-tape  ===" >>working/log
+echo " "
+
+#bin/bacula start 2>&1 >/dev/null
+bin/bacula start
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=0
+run job=NightlySave level=Full Storage=DDS-4 yes
+run job=NightlySave level=Full Storage=DDS-4 yes
+run job=NightlySave level=Full Storage=DDS-4 yes
+run job=NightlySave level=Full Storage=DDS-4 yes
+@sleep 2
+status dir
+@sleep 5
+messages
+wait
+messages
+@# 
+@# now do a restore
+@#
+@output tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+
+bin/bacula stop 2>&1 >/dev/null
+grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+rstat=$?
+diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null
+if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  !!!!! four-concurent-jobs-tape Bacula source failed!!! !!!!! "
+   echo "  !!!!! four-concurent-jobs-tape failed!!! !!!!! " >>test.out
+   echo " "
+   exit 1
+else
+   echo "  ===== four-concurent-jobs-tape Bacula source OK ===== "
+   echo "  ===== four-concurent-jobs-tape OK ===== " >>test.out
+   scripts/cleanup
+   exit 0
+fi
 
--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory using the compressed option
+#   then backup four times, each with incremental then finally restore.
+#   It should require at least 4 different bsrs.
+#
+cwd=`pwd`
+bin/bacula stop 2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+
+scripts/copy-tape-confs
+scripts/cleanup-tape
+echo "${cwd}/build" >/tmp/file-list
+
+echo " "
+echo " "
+echo " === Starting four-jobs-tape  ==="
+echo " === Starting four-jobs-tape  ===" >>working/log
+echo " "
+
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+estimate job=NightlySave listing
+estimate job=NightlySave listing
+estimate job=NightlySave listing
+messages
+@output tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=0
+run job=NightlySave yes
+wait
+messages
+quit
+END_OF_DATA
+echo "Backup 1 done"
+# make some files for the incremental to pick up
+touch ${cwd}/build/src/dird/*.c ${cwd}/build/src/dird/*.o
+touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
+   
+#
+# run a second job
+#
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+run job=NightlySave level=Incremental yes
+wait
+messages
+quit
+END_OF_DATA
+echo "Backup 2 done"
+touch ${cwd}/build/src/dird/*.c
+touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
+#
+# run a third job
+#
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+run job=NightlySave level=Incremental yes
+wait
+messages
+quit
+END_OF_DATA
+echo "Backup 3 done"
+# make some files for the incremental to pick up
+touch ${cwd}/build/src/lib/*.c ${cwd}/build/src/lib/*.o
+#
+# run a fourth job
+#
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+run job=NightlySave level=Incremental yes
+wait
+messages
+quit
+END_OF_DATA
+echo "Backup 4 done"
+# 
+# now do several restores to ensure we cleanup between jobs
+#
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+@output tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+rstat=$?
+diff -r build tmp/bacula-restores${cwd}/build 2>&1 >/dev/null
+if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  !!!!! four-jobs-tape Bacula source failed!!! !!!!! "
+   echo "  !!!!! four-jobs-tape failed!!! !!!!! " >>test.out
+   echo " "
+else
+   echo "  ===== four-jobs-tape Bacula source OK ===== "
+   echo "  ===== four-jobs-tape OK ===== " >>test.out
+   scripts/cleanup
+fi
 
--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory then create some           
+#   new files, do an Incremental and restore those two files.
+#
+# This script uses the autochanger and two tapes
+#
+cwd=`pwd`
+bin/bacula stop  2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+
+scripts/copy-2tape-confs
+scripts/cleanup-2tape
+echo "${cwd}/tmp/build" >/tmp/file-list
+if test ! -d ${cwd}/tmp/build ; then
+   mkdir ${cwd}/tmp/build
+fi
+cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
+cd ${cwd}/tmp
+echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
+echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
+cd ${cwd}
+
+echo " "
+echo " "
+echo " === Starting incremental-2tape test ==="
+echo " === Starting incremental-2tape test ===" >>working/log
+echo " "
+
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=1
+label storage=DDS-4 volume=TestVolume002 slot=2
+run job=NightlySave yes
+wait
+messages
+quit
+END_OF_DATA
+echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
+echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+@# Force Incremental on the second Volume
+update volume=TestVolume001 VolStatus=Used
+run level=Incremental job=NightlySave yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@output tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores 
+7
+<${cwd}/tmp/restore-list
+
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+rstat=$?
+#
+# Delete .c files because we will only restored the txt files
+#
+rm -f tmp/build/*.c
+diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null
+if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  !!!!! incremental-2tape test Bacula source failed!!! !!!!! "
+   echo "  !!!!! incremental-2tape test failed!!! !!!!! " >>test.out
+   echo " "
+else
+   echo "  ===== incremental-2tape test Bacula source OK ===== "
+   echo "  ===== incremental-2tape test OK ===== " >>test.out
+   scripts/cleanup
+fi
 
--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory then create some           
+#   new files, do an Incremental and restore those two files.
+#
+cwd=`pwd`
+bin/bacula stop  2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+
+scripts/copy-tape-confs
+scripts/cleanup-tape
+echo "${cwd}/tmp/build" >/tmp/file-list
+if test ! -d ${cwd}/tmp/build ; then
+   mkdir ${cwd}/tmp/build
+fi
+cp -p ${cwd}/build/src/dird/*.c ${cwd}/tmp/build
+cd ${cwd}/tmp
+echo "${cwd}/tmp/build/ficheriro1.txt" >restore-list
+echo "${cwd}/tmp/build/ficheriro2.txt" >>restore-list
+cd ${cwd}
+
+echo " "
+echo " "
+echo " === Starting incremental-tape test ==="
+echo " === Starting incremental-tape test ===" >>working/log
+echo " "
+
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+label storage=DDS-4 volume=TestVolume001 slot=0
+run job=NightlySave yes
+wait
+messages
+quit
+END_OF_DATA
+echo "ficheriro1.txt" >${cwd}/tmp/build/ficheriro1.txt
+echo "ficheriro2.txt" >${cwd}/tmp/build/ficheriro2.txt
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+run level=Incremental job=NightlySave yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@output tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores 
+7
+<${cwd}/tmp/restore-list
+
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+grep "^Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+grep "^Termination: *Restore OK" tmp/log2.out 2>&1 >/dev/null
+rstat=$?
+#
+# Delete .c files because we will only restored the txt files
+#
+rm -f tmp/build/*.c
+diff -r tmp/build tmp/bacula-restores${cwd}/tmp/build 2>&1 >/dev/null
+if [ $? != 0 -o $bstat != 0 -o $rstat != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  !!!!! incremental-tape test Bacula source failed!!! !!!!! "
+   echo "  !!!!! incremental-tape test failed!!! !!!!! " >>test.out
+   echo " "
+else
+   echo "  ===== incremental-tape test Bacula source OK ===== "
+   echo "  ===== incremental-tape test OK ===== " >>test.out
+   scripts/cleanup
+fi
 
 bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
 @output /dev/null
 messages
-@tee    tmp/log1.out
+@output tmp/log1.out
 label storage=File volume=TestVolume001
 label storage=File volume=TestVolume002
 run job=CompressedTest yes
 bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
 @output /dev/null
 messages
-@tee    tmp/log1.out
+@output tmp/log1.out
 @# Force Incremental on the second Volume
 update volume=TestVolume001 VolStatus=Used
 run level=Incremental job=CompressedTest yes
 @# 
 @# now do a restore
 @#
-@tee    tmp/log2.out
+@output tmp/log2.out
 restore where=${cwd}/tmp/bacula-restores 
 7
 <${cwd}/tmp/restore-list
 
--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the /lib directory
+#   then restore it.
+#
+cwd=`pwd`
+bin/bacula stop 2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+
+scripts/copy-tape-confs
+scripts/cleanup-tape
+echo "/lib" >/tmp/file-list
+echo " "
+echo " "
+echo " === Starting lib-tape-root test ==="
+echo " "
+echo " "
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@output /dev/null
+messages
+@output tmp/log1.out
+label storage=DDS-4 Volume=TestVolume001 slot=0
+run job=NightlySave yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@output tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+messages
+@output
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+cd /
+${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
+cd ${cwd}/tmp/bacula-restores
+${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
+cd ${cwd}/tmp
+sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
+sort <1 >original
+#
+sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
+sort <1 >restored
+rm -f 1
+#
+cd ${cwd}
+diff tmp/original tmp/restored 2>&1 1>/dev/nul
+if [ $? != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  ===== lib-tape-root failed!!! ===== "
+   echo "  ===== lib-tape-root failed!!! ===== " >>test.out
+   echo " "
+else
+   echo "  ===== lib-tape-root OK ===== "
+   echo "  ===== lib-tape-root OK ===== " >>test.out
+   scripts/cleanup
+fi
 
 #
 cwd=`pwd`
 bin/bacula stop  2>&1 >/dev/null
-scripts/copy-tape-confs
+scripts/copy-2tape-confs
 scripts/prepare-two-tapes
 echo "${cwd}/build" >/tmp/file-list
 bin/drop_sqlite_tables
 
--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the /usr directory
+#   then restore it.
+#
+cwd=`pwd`
+bin/bacula stop 2>&1 >/dev/null
+bin/drop_sqlite_tables
+bin/make_sqlite_tables
+
+scripts/copy-tape-confs
+scripts/cleanup-tape
+echo "/usr" >/tmp/file-list
+echo " "
+echo " "
+echo " === Starting usr-tape-root test ==="
+echo " "
+echo " "
+bin/bacula start 2>&1 >/dev/null
+bin/bconsole -c bin/bconsole.conf <<END_OF_DATA
+@tee /dev/null
+messages
+@tee tmp/log1.out
+label storage=DDS-4 Volume=TestVolume001 slot=0
+run job=NightlySave yes
+wait
+messages
+@# 
+@# now do a restore
+@#
+@tee tmp/log2.out
+restore where=${cwd}/tmp/bacula-restores select all
+yes
+wait
+messages
+@tee
+quit
+END_OF_DATA
+bin/bacula stop 2>&1 >/dev/null
+cd /
+${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/original
+cd ${cwd}/tmp/bacula-restores
+${cwd}/bin/testls -e ${cwd}/scripts/exclude-usr-test lib >${cwd}/tmp/restored
+cd ${cwd}/tmp
+sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% original >1
+sort <1 >original
+#
+sed s%.*lib/kbd/consolefonts$%lib/kbd/consolefonts% restored >1
+sort <1 >restored
+rm -f 1
+#
+cd ${cwd}
+diff tmp/original tmp/restored 2>&1 1>/dev/nul
+if [ $? != 0 ] ; then
+   echo " "
+   echo " "
+   echo "  ===== usr-tape-root failed!!! ===== "
+   echo "  ===== usr-tape-root failed!!! ===== " >>test.out
+   echo " "
+else
+   echo "  ===== usr-tape-root OK ===== "
+   echo "  ===== usr-tape-root OK ===== " >>test.out
+   scripts/cleanup
+fi