--- /dev/null
+#!/bin/sh
+#
+# Run a simple backup of the Bacula build directory
+# to a tape then restore it, we do that twice to ensure that
+# we can correctly append to a tape.
+# We also use the purge and the relabel commands as
+# well as a pile of status storage commands.
+#
+TestName="backup-bacula-fifo"
+JobName=backupfifo
+. scripts/functions
+set_debug 0
+
+scripts/copy-fifo-confs
+
+echo "${cwd}/build" >/tmp/file-list
+
+change_jobname NightlySave $JobName
+start_test
+
+
+# Write out bconsole commands
+cat <<END_OF_DATA >tmp/bconcmds
+@output /dev/null
+messages
+@$out tmp/log1.out
+@#setdebug level=200 storage=Dummy
+label storage=Dummy volume=TestVolume001 slot=0 pool=Default
+run job=$JobName yes
+status storage=Dummy
+@sleep 1
+wait
+messages
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=Dummy
+stop_bacula
+
+#
+# Now do a second backup after making a few changes
+#
+touch ${cwd}/build/src/dird/*.c
+echo "test test" > ${cwd}/build/src/dird/xxx
+
+cat <<END_OF_DATA >tmp/bconcmds
+@$out /dev/null
+messages
+@$out tmp/log1.out
+list volumes
+run job=$JobName yes
+wait
+list volumes
+messages
+quit
+END_OF_DATA
+
+run_bacula
+check_for_zombie_jobs storage=Dummy
+stop_bacula
+
+grep "^ Termination: *Backup OK" tmp/log1.out 2>&1 >/dev/null
+bstat=$?
+
+# not yet implemented
+dstat=0
+rstat=0
+
+end_test