From b8e19438b2d69674efcf408586950e384d5e4b06 Mon Sep 17 00:00:00 2001 From: Reinhold Kainhofer Date: Thu, 29 Sep 2011 11:27:02 +0200 Subject: [PATCH] Fix 1477: Update regtests to suppress expected warnings If a file contains (ly:expect-warning ....), the corresponding warning string will be added to a list of expected warnings. If the corresponding warning (or erro) is triggered, it will not be printed to stderr, but the string will be removed from the list. So, each ly:expect-warning, suppresses exactly one occurrence of the warning. To suppress a warning multiple times, call ly:expect-warning multiple times. After one file is processed, the list of expected warnings is checked. If it is not empty, it means that an expected warning was not triggered, which might be a bug. So we print out a warning message about this fact. This allows the regtests to check proper warning messages, without polluting the console output with those warning messages. All warnings that are actually printed in the regtests are a bug. For translated error message, there are two approaches: If the warning is created from scheme, simply use (ly:expect-warning (_ "msg with ~a") "args") If the message is triggered from C++, the translated string is in printf syntax, so we need to translate that and then convert it into a format string for Scheme. This can be done with the new function ly:translate-cpp-warning-scheme instead of _: (ly:expect-warning (ly:translate-cpp-warning-scheme "msg with %s") "args") This patch also adapts all regtests that are supposed to print warnings to this new approach. After this patch is applied, the only warnings/errors that are printed out by a regtest run are warnings/errors that should NOT be there (with the exception of warn-expected-warning-missing.ly and safe.ly). --- input/regression/bar-number-check-warning.ly | 1 + input/regression/beam-quarter.ly | 2 ++ input/regression/bom-mark.ly | 1 + input/regression/clef-warn.ly | 3 +++ input/regression/glissando-no-break.ly | 6 +++++- input/regression/harp-pedals-sanity-checks.ly | 5 +++++ input/regression/harp-pedals.ly | 10 ++++++++++ input/regression/header-cyclic-reference.ly | 2 ++ input/regression/incompatible-stem-warning.ly | 17 +++++++++++++++++ .../instrument-switch-invalid-warning.ly | 1 + input/regression/invalid-engraver.ly | 2 ++ input/regression/loglevels.ly | 2 ++ input/regression/lyric-combine-empty-warning.ly | 4 +++- input/regression/markup-brace-warning.ly | 2 ++ input/regression/markup-cyclic-reference.ly | 2 ++ .../regression/markup-depth-non-terminating.ly | 1 + input/regression/markup-music-glyph.ly | 1 + input/regression/page-break-warn-forbidden.ly | 7 +++++-- .../page-spacing-system-count-overfull.ly | 2 ++ .../page-turn-page-breaking-badturns.ly | 2 ++ input/regression/paper-margins-consistency.ly | 1 + input/regression/paper-margins-overrun.ly | 1 + input/regression/phrasing-slur-multiple.ly | 2 ++ input/regression/repeat-unfold.ly | 5 +++-- input/regression/repeat-volta.ly | 1 + input/regression/skiptypesetting-all-true.ly | 8 ++++++++ input/regression/skiptypesetting-bar-check.ly | 1 + input/regression/slur-multiple-linebreak.ly | 1 + input/regression/slur-multiple.ly | 2 ++ input/regression/spacing-loose-grace-error.ly | 11 +++++++---- input/regression/stem-tremolo.ly | 13 ++++++++++--- input/regression/tablature-negative-fret.ly | 9 +++++++++ input/regression/tablature-zero-finger.ly | 1 + input/regression/tie-arpeggio.ly | 2 ++ input/regression/tie-unterminated.ly | 1 + .../warn-conflicting-key-signatures.ly | 2 ++ .../regression/warn-expected-warning-missing.ly | 12 ++++++++++++ .../warn-unterminated-span-dynamic.ly | 2 ++ 38 files changed, 135 insertions(+), 13 deletions(-) create mode 100644 input/regression/warn-expected-warning-missing.ly diff --git a/input/regression/bar-number-check-warning.ly b/input/regression/bar-number-check-warning.ly index a394dead0d..b9fa04868f 100644 --- a/input/regression/bar-number-check-warning.ly +++ b/input/regression/bar-number-check-warning.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Barcheck failed got ~a expect ~a") 3 15) \header { diff --git a/input/regression/beam-quarter.ly b/input/regression/beam-quarter.ly index fb5c4359cf..058570dd50 100644 --- a/input/regression/beam-quarter.ly +++ b/input/regression/beam-quarter.ly @@ -1,6 +1,8 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "stem does not fit in beam")) +#(ly:expect-warning (_ "beam was started here")) \header { texidoc= "Quarter notes may be beamed: the beam is halted momentarily." diff --git a/input/regression/bom-mark.ly b/input/regression/bom-mark.ly index 854754bafb..bc82d0cc4a 100644 --- a/input/regression/bom-mark.ly +++ b/input/regression/bom-mark.ly @@ -1,3 +1,4 @@ +#(ly:expect-warning (_ "stray UTF-8 BOM encountered")) #(ly:set-option 'warning-as-error #f) \version "2.15.9" diff --git a/input/regression/clef-warn.ly b/input/regression/clef-warn.ly index 425f4a4fa5..986a6520f4 100644 --- a/input/regression/clef-warn.ly +++ b/input/regression/clef-warn.ly @@ -1,6 +1,9 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "unknown clef type `~a'") "foo") +% We don't need to match the whole list of clefs, the beginning will suffice +#(ly:expect-warning (_ "supported clefs: ~a") "C F G G2") \header { texidoc = "Unknown clef name warning displays available clefs" diff --git a/input/regression/glissando-no-break.ly b/input/regression/glissando-no-break.ly index 0ce1613e18..77994f7f54 100644 --- a/input/regression/glissando-no-break.ly +++ b/input/regression/glissando-no-break.ly @@ -1,10 +1,14 @@ +\version "2.14.0" +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "forced break was overridden by some other event, should you be using bar checks?")) + \header { texidoc = "Glissandi are not broken. Here a @code{\\break} is ineffective. Use @code{breakable} grob property to override." } -\version "2.14.0" + \layout { ragged-right = ##t } diff --git a/input/regression/harp-pedals-sanity-checks.ly b/input/regression/harp-pedals-sanity-checks.ly index 63270dfb4a..363acfa178 100644 --- a/input/regression/harp-pedals-sanity-checks.ly +++ b/input/regression/harp-pedals-sanity-checks.ly @@ -1,6 +1,11 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Harp pedal diagram contains dividers at positions ~a. Normally, there is only one divider after the third pedal.") '(1 3 5)) +#(ly:expect-warning (_ "Harp pedal diagram contains dividers at positions ~a. Normally, there is only one divider after the third pedal.") '(4)) +#(ly:expect-warning (_ "Harp pedal diagram contains ~a pedals rather than the usual 7.") 5) +#(ly:expect-warning (_ "Harp pedal diagram does not contain a divider (usually after third pedal).")) + \header { texidoc = "The harp-pedal markup function does some sanity checks. All diff --git a/input/regression/harp-pedals.ly b/input/regression/harp-pedals.ly index e7e1c1c7d6..2b66e178da 100644 --- a/input/regression/harp-pedals.ly +++ b/input/regression/harp-pedals.ly @@ -1,6 +1,16 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Harp pedal diagram contains ~a pedals rather than the usual 7.") 0) +#(ly:expect-warning (_ "Harp pedal diagram does not contain a divider (usually after third pedal).")) +#(ly:expect-warning (_ "Harp pedal diagram contains ~a pedals rather than the usual 7.") 1) +#(ly:expect-warning (_ "Harp pedal diagram does not contain a divider (usually after third pedal).")) +#(ly:expect-warning (_ "Unhandled entry in harp-pedal: ~a" ) "a") +#(ly:expect-warning (_ "Unhandled entry in harp-pedal: ~a" ) "s") +#(ly:expect-warning (_ "Unhandled entry in harp-pedal: ~a" ) "d") +#(ly:expect-warning (_ "Unhandled entry in harp-pedal: ~a" ) "f") +#(ly:expect-warning (_ "Unhandled entry in harp-pedal: ~a" ) "x") + \header { texidoc = "Basic harp diagram functionality, including circled pedal boxes. diff --git a/input/regression/header-cyclic-reference.ly b/input/regression/header-cyclic-reference.ly index 03bd5c3f60..7dcf6c57f2 100644 --- a/input/regression/header-cyclic-reference.ly +++ b/input/regression/header-cyclic-reference.ly @@ -1,5 +1,7 @@ \version "2.15.11" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Recursive definition of property ~a detected!") 'header:title) +#(ly:expect-warning (_ "Recursive definition of property ~a detected!") 'header:composer) \header { texidoc = "Cyclic references in header fields should cause a warning, but diff --git a/input/regression/incompatible-stem-warning.ly b/input/regression/incompatible-stem-warning.ly index 29631053fe..59bc93242d 100644 --- a/input/regression/incompatible-stem-warning.ly +++ b/input/regression/incompatible-stem-warning.ly @@ -1,5 +1,22 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 1) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 8) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 4 1) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 1) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 4) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 1) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 4) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "adding note head to incompatible stem (type = %d/%d)") 1 8) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "maybe input should specify polyphonic voices")) + \header { diff --git a/input/regression/instrument-switch-invalid-warning.ly b/input/regression/instrument-switch-invalid-warning.ly index 038dbcb2aa..c0ad386d15 100644 --- a/input/regression/instrument-switch-invalid-warning.ly +++ b/input/regression/instrument-switch-invalid-warning.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "No such instrument: ~a") "bassClar") \header { texidoc = "The @code{switchInstrument} music function prints a warning if diff --git a/input/regression/invalid-engraver.ly b/input/regression/invalid-engraver.ly index 347c76471f..0e738f028a 100644 --- a/input/regression/invalid-engraver.ly +++ b/input/regression/invalid-engraver.ly @@ -1,6 +1,8 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "unknown translator: `%s'") "Rhythmic_column_engraver_foo") +#(ly:expect-warning (ly:translate-cpp-warning-scheme "cannot find: `%s'") "Rhythmic_column_engraver_foo") \header { texidoc = "Engravers which do not exist produce a warning." diff --git a/input/regression/loglevels.ly b/input/regression/loglevels.ly index 880c6375e0..705ed3299d 100644 --- a/input/regression/loglevels.ly +++ b/input/regression/loglevels.ly @@ -1,6 +1,8 @@ \version "2.15.9" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Test warning\n")) +#(ly:expect-warning (_ "already have slur")) \header{ texidoc=" diff --git a/input/regression/lyric-combine-empty-warning.ly b/input/regression/lyric-combine-empty-warning.ly index 59c68ca425..ea797526dc 100644 --- a/input/regression/lyric-combine-empty-warning.ly +++ b/input/regression/lyric-combine-empty-warning.ly @@ -1,5 +1,8 @@ \version "2.15.5" +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "cannot find Voice `%s'") "not-existing-notes") + \header { texidoc = "If lyrics are assigned to a non-existing voice, a warning should @@ -8,7 +11,6 @@ no warning should be printed." } -#(ly:set-option 'warning-as-error #f) << \new Staff \new Voice = "notes" { diff --git a/input/regression/markup-brace-warning.ly b/input/regression/markup-brace-warning.ly index 904a70a36b..6a7f4c9fc0 100644 --- a/input/regression/markup-brace-warning.ly +++ b/input/regression/markup-brace-warning.ly @@ -1,6 +1,8 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "no brace found for point size ~S ") 10) +#(ly:expect-warning (_ "defaulting to ~S pt") 10.5) \header { texidoc = "If @code{\\left-brace} or @code{\\right-brace} cannot diff --git a/input/regression/markup-cyclic-reference.ly b/input/regression/markup-cyclic-reference.ly index f4495db1ce..66f69b4224 100644 --- a/input/regression/markup-cyclic-reference.ly +++ b/input/regression/markup-cyclic-reference.ly @@ -1,5 +1,7 @@ \version "2.15.11" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "Cyclic markup detected: %s") 'cycle-markup) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "Cyclic markup detected: %s") 'cycleI-markup) \header { texidoc = "Cyclic markup definitions should cause a warning, but diff --git a/input/regression/markup-depth-non-terminating.ly b/input/regression/markup-depth-non-terminating.ly index 52e0f70ee0..3d9e00f5f4 100644 --- a/input/regression/markup-depth-non-terminating.ly +++ b/input/regression/markup-depth-non-terminating.ly @@ -1,5 +1,6 @@ \version "2.15.12" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "Markup depth exceeds maximal value of %d; Markup: %s") 1024 "recursive-explosion-markup") \header { texidoc = "Markups have a maximum depth to prevent non-termination." diff --git a/input/regression/markup-music-glyph.ly b/input/regression/markup-music-glyph.ly index 4aec56f9ee..57822eaaba 100644 --- a/input/regression/markup-music-glyph.ly +++ b/input/regression/markup-music-glyph.ly @@ -1,6 +1,7 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Cannot find glyph ~a") "UNKNOWN-GLYPH") \header { texidoc = "Reset fontname for musicglyph. diff --git a/input/regression/page-break-warn-forbidden.ly b/input/regression/page-break-warn-forbidden.ly index 224f572902..15c9a3965d 100644 --- a/input/regression/page-break-warn-forbidden.ly +++ b/input/regression/page-break-warn-forbidden.ly @@ -1,3 +1,8 @@ +\version "2.14.0" + +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "forced break was overridden by some other event, should you be using bar checks?")) +#(ly:expect-warning (_ "forced break was overridden by some other event, should you be using bar checks?")) \header { @@ -6,8 +11,6 @@ } -\version "2.14.0" - \new Staff { c'1 \glissando \pageBreak diff --git a/input/regression/page-spacing-system-count-overfull.ly b/input/regression/page-spacing-system-count-overfull.ly index e92203621e..627d2b52df 100644 --- a/input/regression/page-spacing-system-count-overfull.ly +++ b/input/regression/page-spacing-system-count-overfull.ly @@ -1,4 +1,6 @@ \version "2.14.0" +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "cannot find line breaking that satisfies constraints")) \header { texidoc = "Page breaking doesn't crash when the line-breaking diff --git a/input/regression/page-turn-page-breaking-badturns.ly b/input/regression/page-turn-page-breaking-badturns.ly index 44a21bc85f..c22f0fefb7 100644 --- a/input/regression/page-turn-page-breaking-badturns.ly +++ b/input/regression/page-turn-page-breaking-badturns.ly @@ -1,4 +1,6 @@ \version "2.14.0" +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "cannot fit the first page turn onto a single page. Consider setting first-page-number to an even number.")) \header { texidoc="If there are no good places to have a page turn, diff --git a/input/regression/paper-margins-consistency.ly b/input/regression/paper-margins-consistency.ly index af1a82aacc..d0cca0e3a7 100644 --- a/input/regression/paper-margins-consistency.ly +++ b/input/regression/paper-margins-consistency.ly @@ -1,6 +1,7 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "margins do not fit with line-width, setting default values")) \header { texidoc = "Margin values must fit the line-width, that means: paper-width = diff --git a/input/regression/paper-margins-overrun.ly b/input/regression/paper-margins-overrun.ly index 85f34dc0c1..2640928125 100644 --- a/input/regression/paper-margins-overrun.ly +++ b/input/regression/paper-margins-overrun.ly @@ -1,6 +1,7 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "systems run off the page due to improper paper settings, setting default values")) \header { texidoc = "Normally, margin settings must not cause systems to run off the page." diff --git a/input/regression/phrasing-slur-multiple.ly b/input/regression/phrasing-slur-multiple.ly index 203a6eceee..f9ccca61b2 100644 --- a/input/regression/phrasing-slur-multiple.ly +++ b/input/regression/phrasing-slur-multiple.ly @@ -1,6 +1,8 @@ \version "2.15.4" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "already have phrasing slur")) +#(ly:expect-warning (_ "cannot end phrasing slur")) \header { texidoc = "LilyPond does not support multiple concurrent phrasing slurs with the diff --git a/input/regression/repeat-unfold.ly b/input/regression/repeat-unfold.ly index 9b1578266d..763020cd3c 100644 --- a/input/regression/repeat-unfold.ly +++ b/input/regression/repeat-unfold.ly @@ -1,5 +1,8 @@ \version "2.14.0" +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "More alternatives than repeats. Junking excess alternatives")) + \header{ texidoc="LilyPond has two modes for repeats: unfolded and semi-unfolded. Unfolded repeats are fully written out. Semi unfolded repeats have the body @@ -11,8 +14,6 @@ get to the number of repeats. Unfolded behavior:" } -#(ly:set-option 'warning-as-error #f) - \context Voice \relative c'' { \repeat unfold 3 { c^"3x 0a" d } %% less alts than body diff --git a/input/regression/repeat-volta.ly b/input/regression/repeat-volta.ly index d1c26e76c3..693c27c870 100644 --- a/input/regression/repeat-volta.ly +++ b/input/regression/repeat-volta.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "More alternatives than repeats. Junking excess alternatives")) \header{ texidoc=" diff --git a/input/regression/skiptypesetting-all-true.ly b/input/regression/skiptypesetting-all-true.ly index 076548084e..61df8ad13c 100644 --- a/input/regression/skiptypesetting-all-true.ly +++ b/input/regression/skiptypesetting-all-true.ly @@ -1,4 +1,12 @@ \version "2.14.0" +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) +#(ly:expect-warning (_ "system with empty extent")) +#(ly:expect-warning (_ "didn't find a vertical alignment in this system")) \header{ texidoc = " diff --git a/input/regression/skiptypesetting-bar-check.ly b/input/regression/skiptypesetting-bar-check.ly index ce0daec988..1635a73388 100644 --- a/input/regression/skiptypesetting-bar-check.ly +++ b/input/regression/skiptypesetting-bar-check.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "barcheck failed at: %s") "3/4") \header { diff --git a/input/regression/slur-multiple-linebreak.ly b/input/regression/slur-multiple-linebreak.ly index 763f623922..05d76aa582 100644 --- a/input/regression/slur-multiple-linebreak.ly +++ b/input/regression/slur-multiple-linebreak.ly @@ -1,6 +1,7 @@ \version "2.15.5" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "already have slur")) \header { texidoc = "An additional opening slur during a running slur should be ignored diff --git a/input/regression/slur-multiple.ly b/input/regression/slur-multiple.ly index 21cb444071..f73d93a316 100644 --- a/input/regression/slur-multiple.ly +++ b/input/regression/slur-multiple.ly @@ -1,6 +1,8 @@ \version "2.15.5" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "already have slur")) +#(ly:expect-warning (_ "cannot end slur")) \header { texidoc = "LilyPond does not support multiple concurrent slurs with the diff --git a/input/regression/spacing-loose-grace-error.ly b/input/regression/spacing-loose-grace-error.ly index cd647bcd82..4deda340a5 100644 --- a/input/regression/spacing-loose-grace-error.ly +++ b/input/regression/spacing-loose-grace-error.ly @@ -1,5 +1,10 @@ -\header -{ +\version "2.14.0" + +#(ly:expect-warning (_ "Cannot determine neighbors for floating column. ")) +#(ly:expect-warning (_ "Loose column does not have right side to attach to.")) +#(ly:expect-warning (_ "Loose column does not have right side to attach to.")) + +\header { texidoc = "Even in case of incorrect contexts (eg. shortlived contexts) that break linking of columns through spacing wishes, @@ -11,8 +16,6 @@ texidoc = "Even in case of incorrect contexts (eg. shortlived } -\version "2.14.0" - %% \new Staff cause shortlived, disconnected Voice contexts %% breaking spacing-wishes links. \score { diff --git a/input/regression/stem-tremolo.ly b/input/regression/stem-tremolo.ly index 8c0ef57d79..ac7e155fbf 100644 --- a/input/regression/stem-tremolo.ly +++ b/input/regression/stem-tremolo.ly @@ -1,5 +1,9 @@ - \version "2.14.0" + +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "tremolo duration is too long")) +#(ly:expect-warning (_ "tremolo duration is too long")) + \header{ texidoc=" Stem tremolos or rolls are tremolo signs that look like beam segments @@ -12,16 +16,19 @@ and tilted extra if the stem is down. The tremolos should be positioned a fixed distance from the end of the stems unless there is no stem, in which case they should be positioned a fixed distance from the note head. + +If an impossible tremolo duration (e.g. :4) is given, a warning is +printed. " } -#(ly:set-option 'warning-as-error #f) - \context Voice \relative c''{ \textSpannerUp \override TextScript #'padding = #5 + % The following note should print a warning (quarter tremolo cannot be notated) a1:4^":4" a:8^":8" c:16^":16" a:32^":32" a^"x" a:^":" a':32 a,,:32 + % The following note should print a warning (quarter tremolo cannot be notated) a'4:4 c:8 a:16 c:32 a a: a2: \break \stemUp diff --git a/input/regression/tablature-negative-fret.ly b/input/regression/tablature-negative-fret.ly index 0010438d26..641b6b0b42 100644 --- a/input/regression/tablature-negative-fret.ly +++ b/input/regression/tablature-negative-fret.ly @@ -1,5 +1,14 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "Requested string for pitch requires negative fret: string ~a pitch ~a") 1 "#") +#(ly:expect-warning (_ "Ignoring string request and recalculating.")) +#(ly:expect-warning (_ "Negative fret for pitch ~a on string ~a") "#" 1) +#(ly:expect-warning (_ "Requested string for pitch requires negative fret: string ~a pitch ~a") 1 "#") +#(ly:expect-warning (_ "Ignoring note in tablature.")) + + + +% #(ly:expect-warning (ly:translate-cpp-warning-scheme "Markup depth exceeds maximal value of %d; Markup: %s") 1024 "recursive-explosion-markup") \header { diff --git a/input/regression/tablature-zero-finger.ly b/input/regression/tablature-zero-finger.ly index 60c0113dc6..53ee9e3050 100644 --- a/input/regression/tablature-zero-finger.ly +++ b/input/regression/tablature-zero-finger.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "No open string for pitch ~a") "#") \header { texidoc=" diff --git a/input/regression/tie-arpeggio.ly b/input/regression/tie-arpeggio.ly index 99ff64c714..28d3e303d1 100644 --- a/input/regression/tie-arpeggio.ly +++ b/input/regression/tie-arpeggio.ly @@ -1,5 +1,7 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "unterminated tie")) +#(ly:expect-warning (_ "unterminated tie")) \header { diff --git a/input/regression/tie-unterminated.ly b/input/regression/tie-unterminated.ly index 26b5559d8a..071a7df745 100644 --- a/input/regression/tie-unterminated.ly +++ b/input/regression/tie-unterminated.ly @@ -1,5 +1,6 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "unterminated tie")) \header { texidoc = "When a tie is followed only by unmatching notes and the tie cannot diff --git a/input/regression/warn-conflicting-key-signatures.ly b/input/regression/warn-conflicting-key-signatures.ly index 0845cc5f60..7b860a7bf2 100644 --- a/input/regression/warn-conflicting-key-signatures.ly +++ b/input/regression/warn-conflicting-key-signatures.ly @@ -1,5 +1,7 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "Two simultaneous %s events, junking this one") "key-change") +#(ly:expect-warning (ly:translate-cpp-warning-scheme "Previous %s event here") "key-change") \header { texidoc = "If you specify two different key signatures at one point, a diff --git a/input/regression/warn-expected-warning-missing.ly b/input/regression/warn-expected-warning-missing.ly new file mode 100644 index 0000000000..27ec6c7a17 --- /dev/null +++ b/input/regression/warn-expected-warning-missing.ly @@ -0,0 +1,12 @@ +\version "2.15.13" + +#(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (_ "this is a warning that won't be triggered")) + +\header { + texidoc = "If a warning is expected, but not triggered, print out a +warning about this fact. This will be used to detect missing warnings +in our regtests." +} + +\relative c' { c4 } diff --git a/input/regression/warn-unterminated-span-dynamic.ly b/input/regression/warn-unterminated-span-dynamic.ly index fd53599ffb..c6dd64847c 100644 --- a/input/regression/warn-unterminated-span-dynamic.ly +++ b/input/regression/warn-unterminated-span-dynamic.ly @@ -1,6 +1,8 @@ \version "2.14.0" #(ly:set-option 'warning-as-error #f) +#(ly:expect-warning (ly:translate-cpp-warning-scheme "unterminated %s") "crescendo") +#(ly:expect-warning (ly:translate-cpp-warning-scheme "unterminated %s") "decrescendo") \header { texidoc = "A warning is printed if a dynamic spanner is -- 2.39.2