]> git.sur5r.net Git - bacula/bacula/blob - regress/tests/bvfs-cmds-test
Make out of freespace non-fatal for removable devices -- i.e. behaves like tape
[bacula/bacula] / regress / tests / bvfs-cmds-test
1 #!/bin/sh
2 #
3 # Copyright (C) 2000-2017 Kern Sibbald
4 # License: BSD 2-Clause; see file LICENSE-FOSS
5 #
6 # Run a simple backup of the Bacula build directory then create some           
7 #   new files, do an Incremental and restore those two files.
8 # test the bvfs interface
9 #
10 TestName="bvfs-cmds-test"
11 JobName=Incremental 
12 . scripts/functions
13
14 ${rscripts}/cleanup
15 ${rscripts}/copy-test-confs
16 echo "${tmpsrc}" >${tmp}/file-list
17
18 mkdir -p $tmpsrc
19 cp -p $src/src/dird/*.c $tmpsrc
20
21 change_jobname CompressedTest $JobName
22 start_test
23
24 $bperl -e 'add_attribute("$conf/bacula-dir.conf", "ClientRunBeforeJob", "sleep 2", "Job")'
25
26 cat <<END_OF_DATA >$tmp/bconcmds
27 @$out /dev/null
28 messages
29 @$out ${tmp}/log1.out
30 label storage=File volume=TestVolume001
31 run job=$JobName yes
32 wait
33 @exec "touch $tmpsrc/dird.c"
34 run job=$JobName yes
35 wait
36 @exec "touch $tmpsrc/ua_cmds.c"
37 run job=$JobName yes
38 wait
39 @exec "touch $tmpsrc/ua_dotcmds.c"
40 run job=$JobName yes
41 wait
42 messages
43 quit
44 END_OF_DATA
45
46 run_bacula
47 check_for_zombie_jobs storage=File
48
49 cat <<EOF >$tmp/bconcmds
50 @$out /dev/null
51 use MyCatalog
52 @$out $tmp/log0.out
53 sql
54 SELECT JobId, StartTime, EndTime FROM Job;
55
56 EOF
57
58 run_bconsole
59
60 start=`perl -ne '/(\d)\s+\|\s+([0-9 :-]+?)\s*\|/ && ($1 == 2) && print $2' $tmp/log0.out` 
61
62 cat <<EOF >$tmp/bconcmds
63 @$out /dev/null
64 use MyCatalog
65 @$out $tmp/log3.out
66 .bvfs_get_jobids client=$CLIENT
67 @$out $tmp/log4.out
68 .bvfs_get_jobids client=$CLIENT count
69 @$out $tmp/log5.out
70 .bvfs_get_jobids client=$CLIENT count limit=2
71 @$out $tmp/log6.out
72 .bvfs_get_jobids client=$CLIENT count start="$start"
73 @$out $tmp/log7.out
74 .bvfs_get_jobids client=$CLIENT count end="$start"
75 EOF
76
77 run_bconsole
78
79 estat=0
80 grep '^1,2,3,4$' $tmp/log3.out  >/dev/null # All jobids
81 estat=`expr $estat + $?`
82 grep '^4$' $tmp/log4.out        >/dev/null # Number of jobs
83 estat=`expr $estat + $?`
84 grep '^2$' $tmp/log5.out        >/dev/null # with a limit
85 estat=`expr $estat + $?`
86 grep '^3$' $tmp/log6.out        >/dev/null # with a filter on the date
87 estat=`expr $estat + $?`
88 grep '^2$' $tmp/log7.out        >/dev/null # with a filter on the date
89 estat=`expr $estat + $?`
90
91 stop_bacula
92 touch $tmp/log2.out
93 check_two_logs
94
95 end_test