Re: [frogs] Regression test file for Trackers 714 and 832

[ Thread Index | Date Index | More lilynet.net/frogs Archives ]


This is a multi-part message in MIME format.
Patrick McCarty wrote:
Hi Ian,

Your patch is saved in ASCII, but it should be saved in UTF-8.  I'll
provide some more comments for you below.
  
It's in UTF-8 on my system here. 
???!!
Thunderbird says it's set to use UTF-8 encoding, so I'm puzzled.  I'll try compressing the revised patch into an archive and see it that gets through unscathed.
On 2009-11-16, Ian Hulin wrote:
  
Ooops.

Here's the patch this time

Sorry for the confusion.
    
[patch follows]

  
From 1d4349effc5fb6fc865ac2be558fc61d44e5bb73 Mon Sep 17 00:00:00 2001
From: Ian Hulin <ian@xxxxxxxxxxxx>
Date: Sun, 15 Nov 2009 19:58:55 +0000
Subject: [PATCH] Trackers 832 and 714 - add regression test for output file names containing
 extended Latin accents and other UTF-8 characters.
    
Can you make sure the commit summary is concise enough to fit on one
line?  I would recommend something like

  Add regression test for issues 832 and 714.
  
OK.
and after adding two newlines, write and more verbose description, if
necessary, underneath the commit summary.

  
Signed-off-by: Ian Hulin <ian@xxxxxxxxxxxx>
---
 input/regression/output-filenames-with-accents.ly |  190 +++++++++++++++++++++
    
I think it would be better if this regtest were named
"output-suffix.ly", because that is the only thing you are testing.

  
No it's not.  What's actually being tested is that Lilypond does not produce a gobbledygook name for the back-end processor (e.g. ghostscript) to process. 
What's actually being tested is lilypond's internal replacement for the Scheme format function, which is where Reinhold found the bug.

The output-suffix variable is the means to the end since the the regression tests have to have a descriptive name, and I haven't found a way of re-setting the output name for the file within the source file from Scheme or Lilypond from before Tracker 836 was accepted, and this bug showed up way back.

  
 1 files changed, 190 insertions(+), 0 deletions(-)
 create mode 100644 input/regression/output-filenames-with-accents.ly

diff --git a/input/regression/output-filenames-with-accents.ly b/input/regression/output-filenames-with-accents.ly
new file mode 100644
index 0000000..0625b2f
--- /dev/null
+++ b/input/regression/output-filenames-with-accents.ly
@@ -0,0 +1,190 @@
+\version "2.13.5"
+
+\header {
+  texidoc = "Using extended Latin characters like ?? in
+  output file-names should not cause any problems with
+  backend processors.  We test this here by using such
+  characters in output-suffix"
+  dedication = "Lilypond Regression Test"
+  title = "M?? Vlast"
+  subtitle = "Symphonic Tone Poem Cycle"
+  instrument = "Orchestra"
+  composer = "Bed??ich ??metana"
+  opus = "Opus 64"
    
Is it really necessary to add an excerpt from an actual composition
when you are just testing output-suffix to make sure it works with
various UTF-8 characters?

  
It seemed a very good way of getting representative sample of extended Latin characters.  Not all the accents caused the problem with the back-end processing - e.g. ç is OK, č isn't, ü, û and ú  are OK, ů isn't.
There aren't any bits of actual composition in there, just the names, so no copyright issues.
It's now pruned down to one \book (see below).

  
+}
+\version "2.13.5"
    
You already have a \version statement at the beginning of the file.

  
OK

  
+
+
+globalI = {
+  \key c \major
+  \time 4/4
+}
+
+globalII = {
+  \key e \minor
+  \time 6/8
+}
+globalIII = {
+  \key f \minor
+  \time 4/4
+}
+globalIV = {
+  \key f \major
+  \time 4/4
+}
+globalV = {
+  \key d \minor
+  \time 4/4
+}
+globalVI = {
+  \key d \minor
+  \time 4/4
+}
+
+violinmI = \relative c'' {
+  \globalI
+  c4 c c c |
+}
+"output-suffix" = "Vy??ehrad"
    
For consistency, I would recommend writing this as

  #(define output-suffix "...")

instead.  IMO, it's cleaner and this is how it's used in the
documentation.  The question marks will go away once you have saved
the file in UTF-8.

[snip]
  
I disagree. 
Never drop into Scheme if it can be avoided. 
The bit in the documentation is mega-hard to find, and it's being superseded as the recommended way of doing this by \bookOutputSuffix anyway once the fix for Tracker 836 goes in.
In general, I think it would be better to have a smaller regression
test that focuses *only* on the functionality of output-suffix.
Something like

  \version "2.13.5"

  \header {
    texidoc = "description"
  }

  #(define output-suffix "áâéŅ")
  \book {
    \score {
      \new Staff \relative c' {
	c1
      }
      \layout { }
      \midi { }
    }
  }

would be very minimal.  It looks like you want to exercise certain
UTF-8 characters, so you can use those instead.  Also, if you do want
to use 6 \book blocks, writing just one note per \book block will keep
the regtest short.

HTH,
Patrick

  
Please see the comments above: this isn't just about output-suffix. Output-suffix is the means to the end.
Hmmm... but minimalism is appealing. . .
OK, I've cut it down to one \book block with three different accents in the the output filename.  It takes about two seconds to compile.

Cheers,
Ian

P.S. The .patch file attachment is definitely in UTF-8 as it leaves here.







Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/