<!-- header_tag --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Copyright C 1999-2009 by the authors Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections. A copy of the license is included in the section entitled "GNU Free Documentation License". --> <!-- Created on January 24, 2009 by texi2html 1.79 texi2html was written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people. Send bugs and suggestions to <texi2html-bug@nongnu.org> --> <head> <title>GNU LilyPond program usage: 1.2.5 Testing LilyPond</title> <meta name="description" content="GNU LilyPond program usage: 1.2.5 Testing LilyPond"> <meta name="keywords" content="GNU LilyPond program usage: 1.2.5 Testing LilyPond"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.79"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link href="index.html#Top" rel="start" title="GNU LilyPond — Application Usage"> <link href="LilyPond-index.html#LilyPond-index" rel="index" title="B. LilyPond index"> <link href="index_toc.html#SEC_Contents" rel="contents" title="Table of Contents"> <link href="index_abt.html#SEC_About" rel="help" title="About This Document"> <link href="Compiling-from-source.html#Compiling-from-source" rel="up" title="1.2 Compiling from source"> <link href="LilyPond-index.html#LilyPond-index" rel="next" title="B. LilyPond index"> <link href="Building-documentation.html#Building-documentation" rel="previous" title="1.2.4 Building documentation"> <link rel="stylesheet" type="text/css" title="Patrick McCarty's design" href="lilypond-mccarty.css"> <link rel="alternate stylesheet" type="text/css" href="lilypond.css" title="Andrew Hawryluk's design"> <link rel="alternate stylesheet" type="text/css" href="lilypond-blue.css" title="Kurt Kroon's blue design"> <!--[if lte IE 7]> <link href="lilypond-ie-fixes.css" rel="stylesheet" type="text/css"> <![endif]--> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <div id="main"> <a name="Testing-LilyPond"></a> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Install.html#Install" title="Beginning of this chapter or previous chapter"> << Install </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LilyPond-index.html#LilyPond-index" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Setup.html#Setup" title="Next chapter"> Setup >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Building-documentation.html#Building-documentation-without-compiling-LilyPond" title="Previous section in reading order" accesskey="p" rel="previous"> < Building documentation without compiling LilyPond </a>]</td><td valign="middle" align="center" colspan="1">[<a href="Compiling-from-source.html#Compiling-from-source" title="Up section" accesskey="u" rel="up"> Up : Compiling from source </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Problems.html#Problems" title="Next section in reading order" accesskey="n" rel="next"> Problems > </a>]</td></tr></table> <a name="Testing-LilyPond"></a> <h3 class="subsection">1.2.5 Testing LilyPond</h3> <a name="testing"></a> <p>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 </p> <blockquote><pre class="example"><pre class="example">make test-baseline <em>## apply your changes, compile</em> make check </pre></pre></blockquote> <p>This will leave an HTML page ‘<tt>out/test-results/index.html</tt>’. This page shows all the important differences that your change introduced, whether in the layout, MIDI, performance or error reporting. </p> <p>To rerun tests, use </p> <blockquote><pre class="example"><pre class="example">make test-redo <em>## redo files differing from baseline</em> make test-clean <em>## remove all test results</em> </pre></pre></blockquote> <p>and then run <code>make check</code> again. </p> <p>For tracking memory usage as part of this test, you will need GUILE CVS; especially the following patch: <a href="http://lilypond.org/vc/gub.darcs/patches/guile-1.9-gcstats.patch">http://lilypond.org/vc/gub.darcs/patches/guile-1.9-gcstats.patch</a>. </p> <p>For checking the coverage of the test suite, do the following </p> <blockquote><pre class="example"><pre class="example">./scripts/auxiliar/build-coverage.sh <em># uncovered files, least covered first</em> ./scripts/auxiliar/coverage.py --summary out-cov/*.cc <em># consecutive uncovered lines, longest first</em> ./scripts/auxiliar/coverage.py --uncovered out-cov/*.cc </pre></pre></blockquote> <hr size="6"> <table class="nav_table"> <tr><td valign="middle" align="left" colspan="1">[<a href="Install.html#Install" title="Beginning of this chapter or previous chapter"> << Install </a>]</td><td valign="middle" align="center" colspan="3">[<a href="index.html#Top" title="Cover (top) of document" rel="start">Top</a>][<a href="index_toc.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LilyPond-index.html#LilyPond-index" title="Index" rel="index">Index</a>][<a href="index_abt.html#SEC_About" title="About (help)" rel="help"> ? </a>]</td><td valign="middle" align="right" colspan="1">[<a href="Setup.html#Setup" title="Next chapter"> Setup >> </a>]</td></tr><tr><td valign="middle" align="left" colspan="2">[<a href="Building-documentation.html#Building-documentation-without-compiling-LilyPond" title="Previous section in reading order" accesskey="p" rel="previous"> < Building documentation without compiling LilyPond </a>]</td><td valign="middle" align="center" colspan="1">[<a href="Compiling-from-source.html#Compiling-from-source" title="Up section" accesskey="u" rel="up"> Up : Compiling from source </a>]</td><td valign="middle" align="right" colspan="2">[<a href="Problems.html#Problems" title="Next section in reading order" accesskey="n" rel="next"> Problems > </a>]</td></tr></table> <!-- footer_tag --> <div class="footer"> <p class="footer_version"> This page is for LilyPond-2.12.2 (stable-branch). </p> <p class="footer_report"> Your <a href="http://lilypond.org/web/devel/participating/documentation-adding">suggestions for the documentation</a> are welcome, please report errors to our <a href="http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs">bug list</a>. </p> </div> <!-- FOOTER --> <!-- end div#main here --> </div> <div id="tocframe"> <p class="toc_uplink"><a href="../index.html" title="Documentation Index"><< Back to Documentation Index</a></p> <h4 class="toc_header"> <a href="index.html#Top" title="Start of the manual">Application Usage</a></h4> <div class="contents"> <ul class="toc"> <li class="toc_current"><a name="toc-Install-1" href="Install.html#Install">1. Install</a> <ul class="toc"> <li><a name="toc-Precompiled-binaries-1" href="Precompiled-binaries.html#Precompiled-binaries">1.1 Precompiled binaries</a> </li> <li class="toc_current"><a name="toc-Compiling-from-source-1" href="Compiling-from-source.html#Compiling-from-source">1.2 Compiling from source</a> <ul class="toc"> <li><a name="toc-Downloading-source-code-1" href="Downloading-source-code.html#Downloading-source-code">1.2.1 Downloading source code</a> </li> <li><a name="toc-Requirements-1" href="Requirements.html#Requirements">1.2.2 Requirements</a> </li> <li><a name="toc-Building-LilyPond-1" href="Building-LilyPond.html#Building-LilyPond">1.2.3 Building LilyPond</a> </li> <li><a name="toc-Building-documentation-1" href="Building-documentation.html#Building-documentation">1.2.4 Building documentation</a> </li> <li class="toc_current"><a name="toc-Testing-LilyPond-1" href="Testing-LilyPond.html#Testing-LilyPond">1.2.5 Testing LilyPond</a> </li> <li><a name="toc-Problems-1" href="Problems.html#Problems">1.2.6 Problems</a> </li> </ul> </li> </ul> </li> <li><a name="toc-Setup-1" href="Setup.html#Setup">2. Setup</a> <ul class="toc"> <li><a name="toc-Setup-for-specific-Operating-Systems-1" href="Setup-for-specific-Operating-Systems.html#Setup-for-specific-Operating-Systems">2.1 Setup for specific Operating Systems</a> </li> <li><a name="toc-Text-editor-support-1" href="Text-editor-support.html#Text-editor-support">2.2 Text editor support</a> </li> <li><a name="toc-Point-and-click-1" href="Point-and-click.html#Point-and-click">2.3 Point and click</a> </li> </ul> </li> <li><a name="toc-Running-LilyPond-1" href="Running-LilyPond.html#Running-LilyPond">3. Running LilyPond</a> <ul class="toc"> <li><a name="toc-Normal-usage-1" href="Normal-usage.html#Normal-usage">3.1 Normal usage</a> </li> <li><a name="toc-Command_002dline-usage-1" href="Command_002dline-usage.html#Command_002dline-usage">3.2 Command-line usage</a> </li> <li><a name="toc-Error-messages-1" href="Error-messages.html#Error-messages">3.3 Error messages</a> </li> <li><a name="toc-Updating-files-with-convert_002dly-1" href="Updating-files-with-convert_002dly.html#Updating-files-with-convert_002dly">3.4 Updating files with <code>convert-ly</code></a> </li> <li><a name="toc-Reporting-bugs-1" href="Reporting-bugs.html#Reporting-bugs">3.5 Reporting bugs</a> </li> </ul> </li> <li><a name="toc-lilypond_002dbook_003a-Integrating-text-and-music" href="LilyPond_002dbook.html#LilyPond_002dbook">4. <code>lilypond-book</code>: Integrating text and music</a> <ul class="toc"> <li><a name="toc-An-example-of-a-musicological-document-1" href="An-example-of-a-musicological-document.html#An-example-of-a-musicological-document">4.1 An example of a musicological document</a> </li> <li><a name="toc-Integrating-music-and-text-1" href="Integrating-music-and-text.html#Integrating-music-and-text">4.2 Integrating music and text</a> </li> <li><a name="toc-Music-fragment-options-1" href="Music-fragment-options.html#Music-fragment-options">4.3 Music fragment options</a> </li> <li><a name="toc-Invoking-lilypond_002dbook-1" href="Invoking-lilypond_002dbook.html#Invoking-lilypond_002dbook">4.4 Invoking <code>lilypond-book</code></a> </li> <li><a name="toc-Filename-extensions-1" href="Filename-extensions.html#Filename-extensions">4.5 Filename extensions</a> </li> <li><a name="toc-Alternative-methods-of-mixing-text-and-music" href="Alternate-methods-of-mixing-text-and-music.html#Alternate-methods-of-mixing-text-and-music">4.6 Alternative methods of mixing text and music</a> </li> </ul> </li> <li><a name="toc-Converting-from-other-formats-1" href="Converting-from-other-formats.html#Converting-from-other-formats">5. Converting from other formats</a> <ul class="toc"> <li><a name="toc-Invoking-midi2ly-1" href="Invoking-midi2ly.html#Invoking-midi2ly">5.1 Invoking <code>midi2ly</code></a> </li> <li><a name="toc-Invoking-musicxml2ly-1" href="Invoking-musicxml2ly.html#Invoking-musicxml2ly">5.2 Invoking <code>musicxml2ly</code></a> </li> <li><a name="toc-Invoking-abc2ly-1" href="Invoking-abc2ly.html#Invoking-abc2ly">5.3 Invoking <code>abc2ly</code></a> </li> <li><a name="toc-Invoking-etf2ly-1" href="Invoking-etf2ly.html#Invoking-etf2ly">5.4 Invoking <code>etf2ly</code></a> </li> <li><a name="toc-Generating-LilyPond-files-1" href="Generating-LilyPond-files.html#Generating-LilyPond-files">5.5 Generating LilyPond files</a> </li> </ul> </li> <li><a name="toc-GNU-Free-Documentation-License-1" href="GNU-Free-Documentation-License.html#GNU-Free-Documentation-License">A. GNU Free Documentation License</a> </li> <li><a name="toc-LilyPond-index-1" href="LilyPond-index.html#LilyPond-index">B. LilyPond index</a> </li> </ul> </div> </div> </body> </html>