]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/vtape-bug-1288
Add test for bug 1288
[bacula/bacula] / regress / tests / vtape-bug-1288
1 #!/bin/sh
2 #
3 # Run backups with dummy tape driver
4 # This test setups an Autochanger with 80 slots
5 # and 5 drives (3 LTO3 and 2 LTO1)
6 #
7 # TAPE_DRIVE="$cwd/working/ach/drive0"
8 # TAPE_DRIVE1="$cwd/working/ach/drive0"
9 # AUTOCHANGER="$cwd/working/ach/conf"
10 # USE_VTAPE=yes
11 # AUTOCHANGER_SCRIPT=disk-changer
12
13
14 TestName="vtape-bug-1288"
15 JobName=backup
16 . scripts/functions
17
18 require_vtape
19
20 scripts/cleanup
21 scripts/copy-tape-confs
22 cp scripts/bacula-dir-vtape.conf bin/bacula-dir.conf
23 cp scripts/bacula-sd-vtape.conf bin/bacula-sd.conf
24 sed -i 's/Device {/Device { LabelMedia = yes/' bin/bacula-sd.conf
25 sed -i 's/Pool {/Pool { LabelFormat = "vol"/' bin/bacula-dir.conf
26 sed -i 's/SpoolData = yes/SpoolData = no/' bin/bacula-dir.conf
27 sed -i 's/Maximum Volume Size = 30M//'  bin/bacula-sd.conf
28 sed -i 's/Maximum File Size = 7M//'  bin/bacula-sd.conf
29 sed -i 's!Client Run Before Job = "/bin/sleep 2"!!' bin/bacula-dir.conf
30 scripts/prepare-fake-autochanger
31
32 echo "${cwd}/build" >${cwd}/tmp/file-list
33
34 start_test
35
36 when1=`perl -MPOSIX -e "print strftime('%F %T', localtime(time+5))"`
37
38 clientname=`awk '/Name = .*-fd/ { if (!ok) { print $3 ; ok=1 } }' bin/bacula-dir.conf`
39
40 # Catalog record for cleaning tape "CLN01" successfully created.
41 # CLN01      | Cleaning
42
43 cat <<END_OF_DATA >${cwd}/tmp/bconcmds
44 @$out ${cwd}/tmp/log1.out
45 messages
46 @#label barcodes slots=1-10 pool=Scratch storage=LTO3 drive=0
47 add pool=Inc storage=LTO3 drive=0
48 1
49 vol
50 1
51 1
52 yes
53 add pool=Inc storage=LTO3 drive=0
54 1
55 vol
56 2
57 2
58 yes
59 list volumes
60 @$out ${cwd}/tmp/log1.out
61 run storage=LTO3 when="$when1" job=NightlySave  pool=Inc     yes
62 run storage=LTO3 when="$when1" job=NightlySave2 pool=Inc     yes
63 run storage=LTO3 when="$when1" job=NightlySave1 pool=Inc     yes
64 @sleep 6
65 messages
66 wait
67 messages
68 quit
69 END_OF_DATA
70
71 run_bacula
72 check_for_zombie_jobs storage=LTO3 $clientname
73
74
75 stop_bacula
76
77 end_test
78