Contributing: Armed Bear Common Lisp (ABCL) - Common Lisp on the JVM

A quick guide to producing patches for ABCL

This guide describes how to contribute patches to ABCL, while making sure that the patch doesn't introduce regressions.
  1. Build abcl and run the ansi-tests with the pristine tree before making patches and store the test results. Invoke the following commands from the abcl main directory:
    ant abcl.clean
    ant abcl.wrapper
    ant test.ansi.interpreted
    ant test.ansi.compiled

    The test runs will report where their logs are written, keep those files at hand for comparing them with later runs with modified code.
  2. Develop your patch.
  3. Build abcl and run the ansi-tests with your modification and store the test results. The commands are as in the first step.
  4. Compare the new test results with the pristine results, if there are no additional failures, the patch should be ok. Example comparison for linux would be
    diff -u abcl-test-20093726-2037.log abcl-test-20094426-2044.log

    Note that the file names are generated dynamically by the test runs. The list of failed tests can be found at the end of the log, so that's practically the only thing you're interested in. If the lists don't differ, you've successfully created a patch with no ansi-test regressions.