]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/crazy-smaller-vol-test
Tweak add copyright to regression tests that do not have one
[bacula/bacula] / regress / tests / crazy-smaller-vol-test
1 #!/bin/sh
2 #
3 # Copyright (C) 2000-2017 Kern Sibbald
4 # License: BSD 2-Clause; see file LICENSE-FOSS
5 #
6 # A shell and stripped down version version of the crazy-small-volume-test.py
7 #
8 #
9 TestName="crazy-smaller-vol-test"
10 JobName=Simple
11 . scripts/functions
12
13 ${rscripts}/cleanup
14 ${rscripts}/copy-test-confs
15 mkdir -p ${tmpsrc}
16 dd if=/dev/urandom of=${tmpsrc}/the_file bs=1M count=20
17 the_file_md5=`md5sum ${tmpsrc}/the_file | cut -d " " -f 1`
18 echo $the_file_md5
19 cd ${cwd}
20
21 echo ${tmpsrc}/the_file>${cwd}/tmp/file-list
22
23 $bperl -e "set_global_maximum_concurrent_jobs(10)"
24
25 start_test
26
27 numvols=220
28 numjobs=20
29 maxbytes=2097152
30
31 cat <<END_OF_DATA >${tmp}/bconcmds
32 @output /dev/null
33 messages
34 @output /dev/null
35 setdebug level=15 storage=File
36 @#setdebug level=200 client
37 @#setdebug level=100 director
38
39 END_OF_DATA
40
41 i=0
42 while [ $i -lt $numvols ] ; do
43    cat <<END_OF_DATA >>${tmp}/bconcmds
44 label storage=File volume=TestVolume$i
45 update volume=TestVolume$i MaxVolBytes=${maxbytes}
46 END_OF_DATA
47    i=$(($i + 1))
48 done
49
50 # Make one more big volume
51 cat <<END_OF_DATA >>${tmp}/bconcmds
52 label storage=File volume=TestVolume1000
53 @# start logging
54 @$out ${tmp}/log1.out
55 END_OF_DATA
56
57 i=0
58 while [ $i -lt ${numjobs} ] ; do
59    cat <<END_OF_DATA >>${tmp}/bconcmds
60 run job=Simple yes
61 END_OF_DATA
62    i=$(($i + 1))
63 done
64
65 cat <<END_OF_DATA >>${tmp}/bconcmds
66 wait
67 messages
68 END_OF_DATA
69
70 cat ${tmp}/bconcmds
71
72 run_bacula
73 check_for_zombie_jobs storage=File
74
75
76 my_error=0
77 i=0
78 while [ $i -lt ${numjobs} ] ; do
79    rm -rf ${tmp}/bacula-restores
80    mkdir -p ${tmp}/bacula-restores
81    i=$(($i + 1))
82    cat <<END_OF_DATA >${tmp}/bconcmds
83 @output /dev/null
84 messages
85 @$out ${tmp}/log2.out
86 list joblog jobid=%i
87 sql "select * from JobMedia WHERE JobId=%i;"
88
89 restore jobid=$i where=${tmp}/bacula-restores all storage=File done yes
90 wait
91 messages
92 END_OF_DATA
93    run_bconsole
94    ls -l ${tmp}/bacula-restores/${tmpsrc}/the_file
95    md5=`md5sum ${tmp}/bacula-restores/${tmpsrc}/the_file | cut -d " " -f 1`
96    if [ $the_file_md5 != $md5 ] ; then
97       echo ERROR ERROR ERROR ERROR ERROR job $i
98       my_error=1
99    fi
100 done
101
102
103 check_for_zombie_jobs storage=File
104 stop_bacula
105
106 check_two_logs
107 end_test
108
109 exit $my_error