TestName="migration-time-test"
JobName=MigrationJobSave
. scripts/functions
-set_debug 0
-. config.out
scripts/cleanup
scripts/copy-migration-confs
-scripts/prepare-two-disks
-echo "${cwd}/build" >/tmp/file-list
+scripts/prepare-disk-changer
+echo "${cwd}/build" >${cwd}/tmp/file-list
change_jobname NightlySave $JobName
start_test
# Pool Full uses Storage=DiskChanger
# Write out bconsole commands
-cat <<END_OF_DATA >tmp/bconcmds
-@output
+cat <<END_OF_DATA >${cwd}/tmp/bconcmds
+@$out /dev/null
messages
-@$out tmp/log1.out
+@$out ${cwd}/tmp/log1.out
label storage=File volume=FileVolume001 Pool=Default
+label storage=File volume=FileVolume002 Pool=Special
label storage=DiskChanger volume=ChangerVolume001 slot=1 Pool=Full drive=0
label storage=DiskChanger volume=ChangerVolume002 slot=2 Pool=Full drive=0
list volumes
@# run three jobs
-run job=$JobName level=Full yes
+run job=$JobName pool=Special level=Full yes
run job=$JobName level=Full yes
run job=$JobName level=Full yes
wait
update volume=FileVolume001 VolStatus=Used
-sql
-update Job SET RealEndTime='2004-01-01 12:01:01' WHERE JobId IN (2,3);
-
+update volume=FileVolume002 VolStatus=Used
+@sleep 3
llist jobid=2,3
list jobs
list volumes
+@#setdebug level=20 dir
@# should migrate only jobid=2 and 3
run job=migrate-time yes
wait
@#
@# now do a restore
@#
-@$out tmp/log2.out
+@$out ${cwd}/tmp/log2.out
restore where=${cwd}/tmp/bacula-restores select storage=DiskChanger
unmark *
mark *
yes
wait
messages
-@output
quit
END_OF_DATA
check_for_zombie_jobs storage=File
stop_bacula
+for i in 1 2 3; do
+ get_mig_info $i ${cwd}/tmp/log1.out
+
+ if [ "$i" -eq 1 -a -n "$RET" ]; then
+ bstat=2
+ print_debug "The first job should not have been copied"
+
+ elif [ "$i" -ne 1 -a -z "$RET" ]; then
+ bstat=2
+ print_debug "Other job should have been copied"
+ fi
+done
+
check_two_logs
check_restore_diff
end_test