]> git.sur5r.net Git - bacula/bacula/blob - regress/README
Update
[bacula/bacula] / regress / README
1              Bacula Regression
2                Kern Sibbald
3
4 This is Bacula's regression script directory.
5
6 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7 Warning!!!! Make sure not to run it on the same system 
8 with your production Catalog because the tables will all
9 be cleared. You can run it on the your production system
10 if you use a different database.
11 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12
13
14 To set it up, create your personal configuration file, by
15 copying prototype.conf to xxx.conf or simply editing prototype.conf
16 directly.
17
18 Then edit your conf file and define appropriate values
19 for the variables that are in that file.  If you want to see
20 a real example, look at kern.conf, but please don't use my
21 email address!
22
23 Make sure that depkgs is pre-built if it isn't 
24 already: (cd your-depkgs; make sqlite).
25 Using the .conf file, you can now select between any Catalog type:
26 SQLite, SQLite3, MySQL, or PostgreSQL.  Be aware, however, if you
27 use an installed database on a production server, running these
28 tests will delete all the tables !!!!!!!!!!!!!!!!!!  I run my
29 tests on a non-production machine, and in addition, I normally use
30 SQLite as the database, while my production uses MySQL.
31
32 Then do:
33
34    ./config xxx.conf
35    make setup
36
37 You run the above one time.  This will build a Makefile from
38 Makefile.in and your xxx.conf file, copy the Bacula source,
39 configure, build it, and configure all the Bacula scripts
40 and conf files.  If you change your source, you will need to
41 redo this command.
42
43 Then you can run any of the tests in the tests subdirectory.
44 Each test whose name ends in -root requires you to be root for
45 a resonable run.  Each test is totally independent of any other
46 test. Aside from the required "make setup", each test is totally
47 self-initalizing and should clean up after itself.
48
49 Not all the tests yet report OK.  This is simply because there are
50 some spurious differences that I haven't yet taken the time to
51 eliminate.  The working scrips as of 24 Apr 03 are (this is
52 way out of date!):
53
54 backup-bacula-test
55 sparse-test
56 compressed-test
57 sparse-compressed-test
58 two-jobs-test
59 wierd-files-test
60 verify-vol-test
61
62 The tests expect you to execute them from the main regress 
63 directory!               
64
65 You can run all the disk based tests by doing:
66
67   ./do_file
68
69 You can run all the disk and most of the tape tests by doing:
70
71   ./do_all
72
73 Each of the above calls one or more scripts. By looking at the
74 scripts available in this directory, you can see that there are a number
75 of options for running tests.
76
77 You can run them individually as:
78
79    tests/two-jobs-test
80
81 or all non-root tests (my normal testing under my account)
82
83   ./all-non-root-tests
84
85 or all tests (I only run these before a production release):
86
87    su
88    ./all-tests
89
90
91 after running the root tests, while still root, it is a good idea
92 to do:
93
94    make reset
95
96 this cleans up any files that may be created with root permissions.
97
98 If you want to add more tests, do so by putting the shell script 
99 in the tests subdirectory. Be careful when adding (or better not)
100 new clients, pools, and such to the test-bacula-dir.conf.in file
101 as it may invalidate a good number of tests, which respond to
102 questions by answering with a number (i.e. the order of the selection
103 list is known). It might be better to add your own testb-bacula...
104 configuration file.  
105
106 To avoid re-doing a make setup if you have made a change to the
107 conf files, and you do not need a new copy of the source, you can simply do:
108
109    make sed
110
111 Debugging failed tests:
112 The simplest thing to do is to edit tests/xxxx where xxxx is the name of
113 the test, and change the line "debug=0" to "debug=1".  If the test has
114 not been updated to have the debug variable, please notify Kern, and I
115 will be happy to fix it -- I am upgrading them one at a time.