#!/bin/sh # # Test for a tape truncation bug. # TestName="truncate-bug-tape" JobName=truncatebug . scripts/functions set_debug 0 copy_tape_confs echo "${cwd}/build" >/tmp/file-list change_jobname NightlySave $JobName start_test cat <tmp/bconcmds @output /dev/null messages @$out tmp/log1.out label storage=DDS-4 volume=TestVolume001 slot=0 pool=Default @# do a bunch of saves so we have 12 files on the tape run job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes run level=Full job=$JobName yes wait messages quit END_OF_DATA run_bacula scripts/check_for_zombie_jobs storage=DDS-4 cat <tmp/bconcmds @output /dev/null messages @$out tmp/log2.out @# @# now do a restore @# restore where=${cwd}/tmp/bacula-restores storage=DDS-4 3 @# select JobId=4 (i.e. file five on the tape) 4 cd ${cwd}/build @# mark a single file mark configure done yes wait messages @output quit END_OF_DATA run_bconsole scripts/check_for_zombie_jobs storage=DDS-4 # Now write to tape one more time cat <tmp/bconcmds @output /dev/null messages @$out tmp/log3.out run level=Full job=$JobName yes wait messages quit END_OF_DATA run_bconsole check_for_zombie_jobs storage=DDS-4 stop_bacula check_two_logs grep "^ Termination: *Backup OK" tmp/log3.out 2>&1 >/dev/null dstat=$? end_test