Re-enable running the regtests in input/regression/lilypond-book.
Fix various typos, clarify what each input file tests for and
how the output should look, and fix the following problems
in input files in input/regression/lilypond-book:
collated-files.tely:
Was linking to the input files rather than the output files
generated by lilypond-book. The input files were thus not
tested individually as it should but as included files.
Fixed in the local GNUmakefile by an explicit rule for
collated-files.list which tracks the output files.
suffix-texi:
Failed, was not being preprocessed by lilypond-book but simply
copied to the output folder. Fixed in the local GNUmakefile by
adding a specific make rule for it.
tex-twocolumn:
Failed, image had full-page width.
Fixed in the input file by moving \twocolumn to the preamble.
Column width detection in the body of the tex document is not
yet implemented.
texinfo-language-detection:
Suspicious, had a weird @lydoctitle popping up.
Fixed in the input file by defining the @lydoctitle macro.
STEPMAKE_TEMPLATES=documentation texinfo
LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc lilypond-book
-COLLATED_FILES = $(OUT_FILES)
-
include $(depth)/make/stepmake.make
TITLE=lilypond-book Test Suite
+COLLATED_FILES = $(OUT_FILES)
+
EXTRA_DIST_FILES = include.mxl
+EXTRA_DIST_FILES += include.xml
EXTRA_DIST_FILES += $(call src-wildcard,*.ly)
EXTRA_DIST_FILES += $(call src-wildcard,*.ily)
EXTRA_DIST_FILES += $(call src-wildcard,*.tely)
EXTRA_DIST_FILES += $(call src-wildcard,*.itely)
+XML_FILES = $(filter-out include%,$(call src-wildcard,*.xml))
+
+local-test: $(OUT_FILES)
+
+$(outdir)/collated-files.list: $(OUT_FILES)
+ echo $(sort $(OUT_FILES)) > $@
+
+$(outdir)/suffix-texi.texi: suffix-texi.texi $(outdir)/version.itexi $(DOCUMENTATION_LOCALE_TARGET) $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
+ LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) --format=$(LILYPOND_BOOK_FORMAT) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $<
+# Prevent parallel lilypond-book instances for this subdir
+.NOTPARALLEL:
<html>
<body>
-Lilypond fragment with newlines before the end tags.
+A LilyPond fragment with newlines before the end tags.
<lilypond fragment relative=2
>
\key c \minor c4 es g2
<html>
<body>
-Lilypond fragment with spaces and tabs before the end tags.
+A LilyPond fragment with spaces and tabs before the end tags.
<lilypond fragment relative=2 >
\key c \minor c4 es g2
</lilypond >
<html>
<body>
-Lilypond version: <lilypondversion
+LilyPond version: <lilypondversion
/>
</body>
</html>
<html>
<body>
-Lilypond version: <lilypondversion/>
+LilyPond version: <lilypondversion/>
</body>
</html>
\version "2.14.0"
\header {
-doctitlees = "If you see this 'translated' doctitle, language detection work"
+doctitlees = "If you see this 'translated' doctitle, language detection works!"
-texidoces = "If you see this 'translated' texidoc, language detection work"
+texidoces = "If you see this 'translated' texidoc, language detection works!"
texidoc = "Original texidoc (you should not see this!)"
doctitle = "Original doctitle (you should not see this!)"
+++ /dev/null
-\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: es -*-
-@setfilename papersize-docs.info
-@settitle Different paper sizes for documentation
-@documentencoding UTF-8
-@documentlanguage en
-@afourpaper
-
-@node Top
-@top Different paper sizes for documentation.
-
-This is a sample of a small papersize, which is useful when you
-want to add a @code{\book@{@}} around some input.
-
-@lilypond[verbatim,papersize=a8landscape]
-\book {
- \header {
- title = "A scale in LilyPond"
- }
- \score {
- \relative c' {
- c4 d e f
- }
- }
-}
-@end lilypond
-
-Here is a different paper size, and a changed tagline.
-
-@lilypond[verbatim,quote,papersize=a8]
-\book {
- \header {
- title = "A scale in LilyPond"
- tagline = "... music notation for Everyone"
- }
- \score {
- \relative c' {
- c4 d e f
- }
- }
-}
-@end lilypond
-
-@bye
\begin{document}
-\section{A coment on the first line of the file}
+\section{A comment on the first line of the file}
+The source file for this document contains a comment on the first line.
This should not confuse the auto-detection of lilypond-book...
\begin{lilypond}
\begin{document}
-\section{Lilypond-book should add the graphicx package}
+\section{LilyPond-book should add the graphicx package}
If a latex file does not yet include the graphicx package, it is added by
lilypond-book.
\documentclass{article}
\begin{document}
-Including Lilypond file:
+Including a LilyPond file without any options:
\lilypondfile{include2.ly}
\end{document}
\documentclass{article}
\begin{document}
-Including Lilypond file with options (quote and noindent):
+Including a LilyPond file with options (quote and noindent):
\lilypondfile[quote,noindent]{include2.ly}
\end{document}
\documentclass{article}
\begin{document}
-Adding Lilypond code inline: \lilypond[relative=2]{ d g ceses }
+Adding LilyPond code inline: \lilypond[relative=2]{ d g ceses }
\end{document}
\begin{document}
-\section{Lilypond snippets inside lists:}
+\section{LilyPond snippets inside lists:}
Itemize environment:
\begin{itemize}
\begin{document}
-\section{Lilypond snippets inside tables:}
+\section{LilyPond snippets inside tables:}
Tables:
\documentclass{article}
\begin{document}
-Including MusicMXL file:
+Including a MusicXML file with options:
\musicxmlfile[language=deutsch,absolute,no-beaming]{include.xml}
\end{document}
\documentclass{article}
\begin{document}
-Including MusicMXL file:
+Including a MusicXML file without options:
\musicxmlfile{include.xml}
\end{document}
text text text text text text text text text text text text
text text text text text text text text text text text text
-Next has no empty lines.
+The next music has no surrounding empty lines.
text text text text text text text text text text text text
text text text text text text text text text text text text
text text text text text text text text text text text text
\section{Snippet options}
-Fragment:
+This document shows the effect of various snippet options.
+
+The fragment option:
+
\begin{lilypond}[fragment]
-c d e %\score
+c' d' e' %\score
\end{lilypond}
-This shows the verbatim option:
+The verbatim option:
+
\begin{lilypond}[fragment,verbatim]
c' d' e'
\end{lilypond}
-printfilename:
+The printfilename option:
+
\lilypondfile[printfilename]{include.ly}
-staffsize:
+The staffsize option:
+
\begin{lilypond}[staffsize=7,fragment]
\context Voice <<c' e' g'>>
\end{lilypond}
\lilypond[fragment,staffsize=7]{\context Voice <<c' es' g'>>}
-relative:
+The relative option:
+
\lilypond[relative=1]{ c4 f b e }
-quote:
-\lilypond[quote,fragment]{\relative c' c1 }
+The quote option:
+
+\lilypond[quote,fragment]{\relative c' c1 d4 c d e}
+
+Combining fragment, quote, staffsize=26, and verbatim options:
-fragment, quote, staffsize=26, verbatim:
\begin{lilypond}[fragment,quote,staffsize=26,verbatim]
c'4 f16
\end{lilypond}
\documentclass[a4paper, 12pt]{article}
-\begin{document}
\twocolumn
+\begin{document}
\section{A latex file with two columns}
-In this example, the width auto-detection shall detect the two columns
-and produce snippets that have the smaller width for a column!
+In this example, the width autodetection should detect the two-column
+settings in the preamble of the document and produce snippets that
+have the width of a column.
+
+\begin{lilypond}
+\score{
+ \relative c'{c d e f g a b c | c, d e f g a b c | c, d e f g a b c}
+}
+\end{lilypond}
+
+Wraping at the end of a column is similar to wraping at the end of a
+page.
+
+Text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text.
+
+Text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text text text text text text text text text text text text text text
+text.
\begin{lilypond}
\score{
- \relative c'{c d e f g a b c | c d e f g a b c | c d e f g a b c}
+ \relative c'{c d e f g a b c | c, d e f g a b c | c, d e f g a b c}
}
\end{lilypond}
Snippets inside a verbatim environment or a comment are not run through
lilypond, but left as is.
+You should see the begin/end lilypond commands in all three of the below tests.
+
% TODO: These do not yet work, as \verb is explicitly disabled in lilypond-book for now!
% \verb|\lilypond[fragment]{c' d' e'}|
%
% and
+The verbatim environment does not confuse lilypond-book:
+
\begin{verbatim}
\begin{lilypond}
c d e
\end{verbatim}
-As you can see, the begin/end lilypond commands inside
-do not confuse lilypond-book.
-
% TODO: These do not yet work, as \verb is explicitly disabled in lilypond-book for now!
% \verb|\begin{lilypond}[fragment]c d e\end{lilypond}|
\documentclass{article}
\begin{document}
-Lilypond version: \lilypondversion
+LilyPond version: \lilypondversion
\end{document}
@node Top
@top Texinfo language detection
+@macro lydoctitle {TEXT}
+@need 600
+@emph{\TEXT\}
+@end macro
+
@include texinfo-include-language-detection-included.itely
@bye
@node Top
@top Texinfo language detection
+@macro lydoctitle {TEXT}
+@need 600
+@emph{\TEXT\}
+@end macro
+
The texidoc of the following snippet should be "translated":
@lilypondfile[printfilename,texidoc,doctitle]{include3.ily}
@settitle MusicXML inside texinfo
@node Top
-@top MusicMXL in texinfo
+@top MusicXML in texinfo
-MusicXML included in texinfo
+A MusicXML file included in texinfo with options (language=deutsch, absolute, no-beaming):
@musicxmlfile[language=deutsch,absolute,no-beaming]{include.xml}
@settitle MusicXML inside texinfo
@node Top
-@top MusicMXL in texinfo
+@top MusicXML in texinfo
-MusicXML included in texinfo
+A MusicXML file included in texinfo without any options:
@musicxmlfile{include.xml}
--- /dev/null
+\input texinfo @c -*- coding: utf-8; mode: texinfo; documentlanguage: en -*-
+@setfilename papersize-docs.info
+@settitle Different paper sizes for documentation
+@documentencoding UTF-8
+@documentlanguage en
+@afourpaper
+
+@node Top
+@top Different paper sizes for documentation.
+
+This is a sample of a small papersize, which is useful when you
+want to add a @code{\book@{@}} around some input.
+
+@lilypond[verbatim,papersize=a8landscape]
+\book {
+ \header {
+ title = "A scale in LilyPond"
+ }
+ \score {
+ \relative c' {
+ c4 d e f
+ }
+ }
+}
+@end lilypond
+
+Here is a different paper size, and a changed tagline.
+
+@lilypond[verbatim,quote,papersize=a8]
+\book {
+ \header {
+ title = "A scale in LilyPond"
+ tagline = "... music notation for Everyone"
+ }
+ \score {
+ \relative c' {
+ c4 d e f
+ }
+ }
+}
+@end lilypond
+
+@bye