X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=regress%2FREADME;h=da1e8255961930efa5d13f4f2e246188874d4356;hb=5a8e6d461c697118fbd6eba387fd10671effe289;hp=09dbc73bbefce3931902acd06a135e5135eff348;hpb=d0d06d0991cd57b86f5a5027f25507f0641491e9;p=bacula%2Fbacula diff --git a/regress/README b/regress/README index 09dbc73bbe..da1e825596 100644 --- a/regress/README +++ b/regress/README @@ -1,3 +1,9 @@ +# +# Copyright (C) 2000-2015 Kern Sibbald +# License: BSD 2-Clause; see file LICENSE-FOSS +# + + Bacula Regression Kern Sibbald @@ -13,13 +19,12 @@ system uses MySQL, you can use SQLite here. To set it up, create your personal configuration file, by -copying prototype.conf to xxx.conf or simply editing prototype.conf -directly. +copying prototype.conf to config or simply editing prototype.conf +directly then copying it to the file config. -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! +You must end up with a file named config in the main regress +directory that has all the specifications that correspond to +your system. If you are using SQLite, make sure that depkgs is pre-built if it isn't already: (cd your-depkgs; make sqlite). @@ -38,7 +43,6 @@ SQLite as the database, while my production uses MySQL. Then do: - ./config xxx.conf make setup You run the above one time. This will build a Makefile from @@ -56,6 +60,8 @@ self-initalizing and should clean up after itself. All the tests expect you to execute them from the main regress directory! +Running the disk based tests: + You can run all the disk based tests by doing: ./do_file @@ -64,6 +70,8 @@ The disk based tests are totally separate from any production system, provided you have configured the database appropriately as noted above. +Running all the "standard" tests: + You can run all the disk and most of the tape tests by doing: ./do_all @@ -101,6 +109,20 @@ to do: this cleans up any files that may be created with root permissions. +Tape test naming convention: + +The last part of the tape test name indicates (in general) what kind +of test it is. They are broken (for the most part) into test names +ending with: + + -test => a disk based test + -tape => a tape based test (can be a standalone tape drive + or an autochanger). Only one tape will be used + and it is assumed to be mounted. + -changer => you have an autochanger + +Adding tests: + 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 @@ -115,6 +137,7 @@ conf files, and you do not need a new copy of the source, you can simply do: make sed Debugging failed tests: + Prior versions required editing the tests/xxxx and changing a debug flag. However, that has been replaced by two environment variables: @@ -204,3 +227,35 @@ free_addresses(dlist*) + 53 in section .text info symbol 0x8082d58 add_address(dlist**, IPADDR::i_type, unsigned short, int, char const*, char const*, char**) + 568 in section .text + +Testing a Binary Installation: + +If you have installed your Bacula from a binary release such as (rpms or +debs), you can still run regression tests on it. First, make sure that your +regression config file uses the same catalog backend as your installed +binaries. Then define the variables bin and scripts variables in your config +file. + +Example: +bin=/opt/bacula/bin +scripts=/opt/bacula/scripts +conf=/opt/bacula/etc + +The ./scripts/prepare-other-loc will tweak the regress scripts to use +your binary location. You will need to run it manually once before you run any +regression tests. + +$ scripts/prepare-other-loc +$ tests/backup-bacula-test +... + +All regression scripts must be run by hand or by calling the test scripts. +These are principally scripts that begin with all_... such as all_disk_tests}, +./all_tests + +None of the +./do_disk, ./do_all, ./nightly... scripts will work. + +If you want to switch back to running the regression scripts from source, first +remove the bin, scripts, and conf variables from your config file and +rerun the make setup step.