Bacula Regression Kern Sibbald December 2003 This is Bacula's regression script directory. At this time (December 2003), it is still in development, so all the tests are not complete. To set it up, create your personal configuration file, by copying prototype.conf to xxx.conf or simply editing prototype.conf directly. Then edit your conf file and define appropriate values for the variables that are in that file. If you want to see a real example, look at kern.conf, but please don't use my email address! Make sure that depkgs is pre-built if it isn't already: (cd your-depkgs; make sqlite). Then do: ./config xxx.conf make setup You run the above one time. This will build a Makefile from Makefile.in and your xxx.conf file, copy the Bacula source, configure, build it, and configure all the Bacula scripts and conf files. If you change your source, you will need to redo this command. Then you can run any of the tests in the tests subdirectory. Each test whose name ends in -root requires you to be root for a resonable run. Each test is totally independent of any other test. Aside from the required "make setup", each test is totally self-initalizing and should clean up after itself. Not all the tests yet report OK. This is simply because there are some spurious differences that I haven't yet taken the time to eliminate. The working scrips as of 24 Apr 03 are: backup-bacula-test sparse-test compressed-test sparse-compressed-test two-jobs-test wierd-files-test verify-vol-test The tests expect you to execute them from the main regress directory! You can run them individually as: tests/two-jobs-test or all non-root tests (my normal testing under my account) ./all-non-root-tests or all tests (I only run these before a production release): su ./all-tests after running the root tests, while still root, it is a good idea to do: make reset this cleans up any files that may be created with root permissions. If you want to add more tests, do so by putting the shell script in the tests subdirectory. Be careful when adding (or better not) new clients, pools, and such to the test-bacula-dir.conf.in file as it may invalidate a good number of tests, which respond to questions by answering with a number (i.e. the order of the selection list is known). It might be better to add your own testb-bacula... configuration file. To avoid re-doing a make setup if you have made a change to the conf files, and you do not need a new copy of the source, you can simply do: scripts/do-sed Debugging failed tests: The simplest thing to do is to edit tests/xxxx where xxxx is the name of a or the test that is failing and change all: @output to @tee re-run the test. The output will display on your terminal. In rare cases, for example to get bacula debug output, you might want to remove the "2>&1 >/dev/null" from the end of the bin/bacula call or from the end of the diff call, assuming you want to "see" the diff output.