Am Wednesday, 28. September 2011, 11:54:38 schrieb [email protected]:
> On Sep 28, 2011, at 11:45 AM, Reinhold Kainhofer wrote:
> > Am Wednesday, 28. September 2011, 09:07:12 schrieben Sie:
> >> LGTM
> >>
> >> It'd be great to see the regtests run with -dwarning-as-error now that
> >> you've done all this work. Is that possible to incorporate into this
> >> patch?
> >
> > Actually, I don't think that's a good idea, for several reasons:
> >
> > 1) The warning-as-error is currently only implemented in the Input class,
> > not for warnings that are triggered by directly calling (ly:warning...).
> > So we won't catch all warnings anyway.
>
> Is there a way to make it such that they are capture?.
I'm working on it.
> > 2) Setting -dwarning-as-error means that any warning (e.g. a failed
> > barcheck...) will cause a complete failure of the whole regtest build. I
> > think this is way too volatile to be useful. A build should never fail,
> > except for real problems.
>
> I agree, but perhaps warnings like bar, bar number, and octave checks can
> also have a throw/catch mechanism like the one you're implementing here.
Sure, if the warning is supposed to be there, it will be suppressed and the
file won't fail. But I'm talking about those little oversights that happen
when doing last-second changes before committing.
I don't think that an inadvertent warning should hold up all other developers
from testing their own patches.
> True, but the whole reason these problems show up in the master branch in
> the first place is because people (including me) accidentally push stuff
> that generates warnings. If the regtest build failed because of
> -dwarning-as-error, then the warning-generating code would not be pushed
> (assuming the person is not a malevolent pusher and/or lazy). That's the
> big advantage I see of using -dwarning-as-error for regtests.
Well, I forgot my last reason:
3) We currently have several warnings in the regtest that should not be there.
To see this, simply run "lilypond -l BASIC *.ly" in input/regression.
With this patch applied, the only displayed warnings should be those from
safe.ly and warn-expected-warning-missing.ly.
However, there are many more. Those are not expected, so suppressing them is
like painting over the rust without actually fixing it. Unless all those are
fixed, we simply cannot enable warning-as-error.
Attached is the current list of unexpected warning messages, coming from 23
different regtests... Some of those are already reported as bugs, about others
I'm not sure (i.e. I don't know what is really expected, in particular with
the vertical spacing).
Cheers,
Reinhold
--
------------------------------------------------------------------
Reinhold Kainhofer, [email protected], http://reinhold.kainhofer.com/
* Financial & Actuarial Math., Vienna Univ. of Technology, Austria
* http://www.fam.tuwien.ac.at/, DVR: 0005886
* LilyPond, Music typesetting, http://www.lilypond.org
Processing `arpeggio-no-staff-symbol.ly'
programming error: vertical alignment called before line breaking
continuing, cross fingers
Processing `beam-multiple-cross-staff.ly'
beam-multiple-cross-staff.ly:24:20: warning: ignoring too many clashing note
columns
b8[ b16 \stemUp
b,,16 ]
beam-multiple-cross-staff.ly:18:6: warning: no viable initial configuration
found: may not find good beam slope
c8
[ c16 \change Staff = SB \stemUp c16 ]
Processing `beam-quant-standard.ly'
warning: Error in beam quanting. Expected (-0.19,-0.19) found (0.0 . 0.0).
warning: Error in beam quanting. Expected (-0.19,-0.19) found (0.0 . 0.0).
warning: Error in beam quanting. Expected (-0.19,-0.19) found (0.0 . 0.0).
warning: Error in beam quanting. Expected (3,3) found (3.5 . 3.5).
warning: Error in beam quanting. Expected (2.19,2.19) found (2.81 . 2.81).
Processing `beam-skip.ly'
beam-skip.ly:8:16: warning: stem does not fit in beam
\new Voice << {
c'4 c'8 c' } { s8[ s] s[ s] } >>
beam-skip.ly:8:33: warning: beam was started here
\new Voice << { c'4 c'8 c' } { s8
[ s] s[ s] } >>
Processing `dynamics-glyphs.ly'
dynamics-glyphs.ly:17:12: warning: crescendo too small
c\!\ppppp
\<
Processing `event-listener-output.ly'
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
Processing `grace-end-2.ly'
programming error: bounds of this piece aren't breakable.
continuing, cross fingers
Processing `grace-end.ly'
programming error: bounds of this piece aren't breakable.
continuing, cross fingers
Processing `landscape.ly'
warning: cannot fit music on page: ragged-spacing was requested, but page was
compressed
Processing `page-breaking-end-of-score.ly'
warning: cannot fit music on page: overflow is 4.850753
warning: compressing music to fit
Processing `page-breaking-good-estimation.ly'
warning: cannot fit music on page: ragged-spacing was requested, but page was
compressed
Processing `page-breaking-min-systems-per-page2.ly'
warning: cannot fit music on page: overflow is 97.494954
warning: compressing music to fit
Processing `page-breaking-page-count1.ly'
programming error: number of pages is out of bounds
continuing, cross fingers
programming error: tried to space systems on a bad number of pages
continuing, cross fingers
Processing `page-breaking-page-count2.ly'
programming error: number of pages is out of bounds
continuing, cross fingers
programming error: tried to space systems on a bad number of pages
continuing, cross fingers
programming error: number of pages is out of bounds
continuing, cross fingers
programming error: tried to space systems on a bad number of pages
continuing, cross fingers
Processing `page-breaking-page-count3.ly'
programming error: number of pages is out of bounds
continuing, cross fingers
programming error: tried to space systems on a bad number of pages
continuing, cross fingers
programming error: number of pages is out of bounds
continuing, cross fingers
programming error: tried to space systems on a bad number of pages
continuing, cross fingers
warning: cannot fit music on page: overflow is 8.964321
warning: compressing music to fit
Processing `page-minimal-page-breaking.ly'
warning: cannot fit music on page: ragged-spacing was requested, but page was
compressed
Processing `page-overflow-compression.ly'
warning: cannot fit music on page: overflow is 3.300205
warning: compressing music to fit
Processing `parenthesize-singlenotes-chords-rests.ly'
programming error: Don't know how to parenthesize spanners.
continuing, cross fingers
Processing `part-combine-tuplet-single.ly'
part-combine-tuplet-single.ly:18:8: warning: No tuplet to end
\times 2/3 { b4 a g ~ } g2
Processing `property-grace-polyphony.ly'
property-grace-polyphony.ly:13:22: warning: ignoring too many clashing note
columns
{ \grace e8
d2 }
Processing `scheme-engraver-instance.ly'
warning: Attempting to remove nonexisting listener.
warning: Attempting to remove nonexisting listener.
Processing `spanner-break-overshoot.ly'
programming error: Disagree on common x. Skipping collisions in beam scoring.
continuing, cross fingers
Processing `volta-bracket-shortening.ly'
warning: cannot end volta spanner
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel