10.9.8 Verify regression tests

In order to avoid breaking LilyPond, it is important to verify that the regression tests succeed, and that no unwanted changes are introduced into the output. This process is described in Regtest comparison.

Typical developer’s edit/compile/test cycle

If you have modified LilyPond source files that have to be compiled (such as ‘.cc’ or ‘.hh’ files in ‘flower/’ or ‘lily/’), the regression-test targets automatically rebuild LilyPond before running the tests.

If you have modified any font definitions in the ‘mf/’ directory, then you must run make clean before running regression tests. This works around incomplete makefile dependencies. The subsequent regression-test target rebuilds all of LilyPond and the fonts before running the tests.

Regression-test targets do not necessarily rebuild everything that a simple make builds. You may omit make from the debugging cycle to save time, but it is still important to run make before committing.

Running make check leaves 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.

You only need to use make test-clean to retest all cases. To retest mismatching cases only, all that is needed is to repeat make check.


LilyPond — Contributor’s Guide v2.21.6 (development-branch).