]> git.sur5r.net Git - bacula/bacula/blobdiff - regress/README
Update
[bacula/bacula] / regress / README
index 5f5aad70aa44ea365409083eb609951ce8b94bee..0f2037bb05bf060eeddb110a86d60499df793ae5 100644 (file)
@@ -13,13 +13,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 +37,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 +54,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 +64,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 +103,24 @@ to do:
 
 this cleans up any files that may be created with root permissions.
 
+Tape test naming convention:
+
+I've renamed the tape tests to include an indication of how
+many tapes and drives each test needs.  The indication consists
+of 4 or 5 characters just before the final -tape.  For example,
+there is a tape test named:
+
+  vol-duration-2t1da-tape
+
+this means that it uses 2 tape (2t) one drive (1d) and the
+autochanger (a).  Another test might be named
+
+  fixed-block-size-1t1d-tape
+
+which means it uses one tape on one drive and no 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 +135,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:
 
@@ -139,6 +160,40 @@ you will see an error message when the script attempts to run a second
 copy, but those messages can be ignored.  This makes it reasonably easy
 to run any component or components under the debugger if necessary.
 
+Explicit example:
+
+In shell window 1.
+
+cd regress
+export REGRESS_DEBUG=1
+export REGRESS_WAIT=1
+tests/name-of-script-test
+(wait until it tells you to start the debugger)
+
+In shell window 2
+
+cd regress/bin
+gdb bacula-xx    (where xx is the component you want to debug).
+(possibly set a break point -- normally not)
+run -s -f
+(wait for the output to stop)
+
+In shell window 1
+(enter any character or simply a return)
+(ignore the error message it prints complaining that the daemon
+you are debugging is already running, which is in fact the case).
+
+
+That is all there is to it.  The debugger window will get some
+output and will stop waiting for input if anything goes wrong
+like a seg fault.  At that point, you can enter commands.
+
+The procedure avoids modifying the test scripts and trying to
+find pids and the such.  If you want less debug output when
+debugging, don't set REGRESS_DEBUG=1.
+
+===
+
 Also, if you run from time to time on a computer that is not connected
 to the network, please be sure that "hostname" is set to "localhost",
 otherwise, your tests may fail because the hostname used by Bacula's
@@ -170,4 +225,3 @@ 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
-