GNU LilyPond program usage: 1.2.5 Testing LilyPond

### 1.2.5 Testing LilyPond

LilyPond comes with an extensive suite that exercises the entire program. This suite can be used to automatically check the impact of a change. This is done as follows

>     make test-baseline
>     ## apply your changes, compile
>     make check

This will leave an HTML page ‘`out/test-results/index.html`’. This page shows all the important differences that your change introduced, whether in the layout, MIDI, performance or error reporting.

To rerun tests, use

>     make test-redo           ## redo files differing from baseline
>     make test-clean          ## remove all test results

and then run `make check` again.

For tracking memory usage as part of this test, you will need GUILE CVS; especially the following patch: http://lilypond.org/vc/gub.darcs/patches/guile-1.9-gcstats.patch.

For checking the coverage of the test suite, do the following

>     ./scripts/auxiliar/build-coverage.sh
>     # uncovered files, least covered first
>     ./scripts/auxiliar/coverage.py  --summary out-cov/*.cc
>     # consecutive uncovered lines, longest first
>     ./scripts/auxiliar/coverage.py  --uncovered out-cov/*.cc

#### Application Usage