Add screen as an option to run cron job
[buildfarm-client-wiki.git] / TestingBuilds.md
index d8052071158bc9274fa682a0682b94e9c9d78267..3b71b1c8fb6e91c12380bb1aebe850e385c1eade 100644 (file)
@@ -45,15 +45,27 @@ In each of the following sample command lines, remember that `--test` will force
 4. Debug mode, only run configure and make if there is a new commit, submit results to server:
 `./run_build.pl --only-steps configure,make --verbose=2`
 
-5. Run all steps, configured to also do make_test, but limit the range of tests from 1 to 9:
+5. Run all steps, only if there is a new commit, configured to also do make_test, but limit the range of tests from 1 to 9:
 `./run_build.pl --override range_test_num='1 9'`
 
-6. Just build docs, don't submit results:
-`./run_build.pl --force --only-steps=make-doc --nosend`
+6. Just build docs, don't submit results (configure builds the *Local/Makefile*, which is required for doc building) :
+`./run_build.pl --force --only-steps=configure,make-doc --nosend`
 
 7. Just build docs, equivalent command:
-`./run_build.pl --test --only-steps=make-doc`
+`./run_build.pl --test --only-steps=configure,make-doc`
 
-8. Just build docs, but allow it to submit results:
-`./run_build.pl --force --only-steps=make-doc`
+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