]> git.sur5r.net Git - bacula/bacula/blob - regress/README
96b9ce57e9192c77c8f1b393ebaf3129d7c5887a
[bacula/bacula] / regress / README
1              Bacula Regression
2                Kern Sibbald
3
4 This is Bacula's regression script directory.
5
6 To set it up, create your personal configuration file, by
7 copying prototype.conf to xxx.conf or simply editing prototype.conf
8 directly.
9
10 Then edit your conf file and define appropriate values
11 for the variables that are in that file.  If you want to see
12 a real example, look at kern.conf, but please don't use my
13 email address!
14
15 Make sure that depkgs is pre-built if it isn't 
16 already: (cd your-depkgs; make sqlite).
17
18 Then do:
19
20    ./config xxx.conf
21    make setup
22
23 You run the above one time.  This will build a Makefile from
24 Makefile.in and your xxx.conf file, copy the Bacula source,
25 configure, build it, and configure all the Bacula scripts
26 and conf files.  If you change your source, you will need to
27 redo this command.
28
29 Then you can run any of the tests in the tests subdirectory.
30 Each test whose name ends in -root requires you to be root for
31 a resonable run.  Each test is totally independent of any other
32 test. Aside from the required "make setup", each test is totally
33 self-initalizing and should clean up after itself.
34
35 Not all the tests yet report OK.  This is simply because there are
36 some spurious differences that I haven't yet taken the time to
37 eliminate.  The working scrips as of 24 Apr 03 are:
38
39 backup-bacula-test
40 sparse-test
41 compressed-test
42 sparse-compressed-test
43 two-jobs-test
44 wierd-files-test
45 verify-vol-test
46
47 The tests expect you to execute them from the main regress 
48 directory!               
49
50 You can run them individually as:
51
52    tests/two-jobs-test
53
54 or all non-root tests (my normal testing under my account)
55
56   ./all-non-root-tests
57
58 or all tests (I only run these before a production release):
59
60    su
61    ./all-tests
62
63
64 after running the root tests, while still root, it is a good idea
65 to do:
66
67    make reset
68
69 this cleans up any files that may be created with root permissions.
70
71 If you want to add more tests, do so by putting the shell script 
72 in the tests subdirectory. Be careful when adding (or better not)
73 new clients, pools, and such to the test-bacula-dir.conf.in file
74 as it may invalidate a good number of tests, which respond to
75 questions by answering with a number (i.e. the order of the selection
76 list is known). It might be better to add your own testb-bacula...
77 configuration file.  
78
79 To avoid re-doing a make setup if you have made a change to the
80 conf files, and you do not need a new copy of the source, you can simply do:
81
82    make sed
83
84 Debugging failed tests:
85 The simplest thing to do is to edit tests/xxxx where xxxx is the name of
86 a or the test that is failing and change all:
87  
88  @output
89
90 to
91   
92  @tee
93
94 re-run the test. The output will display on your terminal.  In rare cases,        
95 for example to get bacula debug output, you might want to remove the
96 "2>&1 >/dev/null" from the end of the bin/bacula call or from the end
97 of the diff call, assuming you want to "see" the diff output.
98