Add extreme debugging example
authorTodd Lyons <tlyons@ivenue.com>
Thu, 12 Jun 2014 20:21:24 +0000 (13:21 -0700)
committerTodd Lyons <tlyons@ivenue.com>
Thu, 12 Jun 2014 20:21:24 +0000 (13:21 -0700)
TestingBuilds.md

index 855bb1690ca932743c17cfc52ab6bd8991e4f3d6..3b71b1c8fb6e91c12380bb1aebe850e385c1eade 100644 (file)
@@ -57,3 +57,15 @@ In each of the following sample command lines, remember that `--test` will force
 8. Just build docs, but allow it to submit results (not advised since you aren't building the actual binary) :
 `./run_build.pl --force --only-steps=configure,make-doc`
 
+
+### Extreme test debugging
+Sometimes you need to figure out why one test is failing.  To see exactly what is happening, you can create a temporary build, don't delete it, and then manually run the test in a debug mode.  In the following example, I'll assume that I'm wanting to find why test 433 is failing
+
+    PATH="$PATH:/sbin" ./run_build.pl --test --verbose=2 --force --only-steps=configure,make,test \
+      --override range_num_tests='1 1' --keepall
+
+The above will create a subdirectory of the format _exim.$PID_ (of the script running the build farm).  In the example above, the git checkout of the exim sources was in `$HOME/buildfarm/HEAD/exim.4689/`, so we change into the test directory and manually instantiate the runtest script, specifying which test we want it to run.
+
+    ./runtest $HOME/buildfarm/HEAD/exim.4689/src/build-Linux-i386/exim -DEBUG 433 433
+
+It will print out copious debug output and you can hopefully find the problem based on that output.
\ No newline at end of file