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