On Wed, 26 Aug 2015 01:42:28 +0200, Dominic Hargreaves wrote:

> Source: biber
> Version: 2.1-2
> Severity: important
> User: debian-p...@lists.debian.org
> Usertags: perl-5.22-transition
> Tags: sid stretch
> 
> This package FTBFS with perl 5.22 (currently in experimental):
> 
> #   Failed test 'Cyclic crossref error check'
> #   at t/crossrefs.t line 485.
> # --- Got
> # +++ Expected
> # @@ -1,2 +1 @@
> # -'Unescaped left brace in regex is deprecated, passed through in regex; 
> marked by <-- HERE in m/\\A{ <-- HERE \\X+}\\z/ at 
> /«PKGBUILDDIR»/blib/lib/Biber/Input/file/bibtex.pm line 751.
> # +'ERROR - Circular inheritance between \'circ1\'<->\'circ2\''
> # -ERROR - Circular inheritance between \'circ1\'<->\'circ2\''
> # Looks like you failed 1 test of 31.
> t/crossrefs.t ......... 
> 
> ...
> 
> #   Failed test 'Cyclic xdata error check'
> #   at t/xdata.t line 112.
> # --- Got
> # +++ Expected
> # @@ -1,2 +1 @@
> # -'Unescaped left brace in regex is deprecated, passed through in regex; 
> marked
>  by <-- HERE in m/\\A{ <-- HERE \\X+}\\z/ at 
> /«PKGBUILDDIR»/blib/lib/Biber/Input
> /file/bibtex.pm line 751.
> # +'ERROR - Circular XDATA inheritance between \'loop\'<->\'loop:3\''
> # -ERROR - Circular XDATA inheritance between \'loop\'<->\'loop:3\''
> # Looks like you failed 1 test of 5.
> 
> Test Summary Report
> -------------------
> t/crossrefs.t       (Wstat: 256 Tests: 31 Failed: 1)
>   Failed test:  23
>   Non-zero exit status: 1
> t/dm-dateformats.t  (Wstat: 65280 Tests: 0 Failed: 0)
>   Non-zero exit status: 255
>   Parse errors: Bad plan.  You planned 33 tests but ran 0.
> t/xdata.t           (Wstat: 256 Tests: 5 Failed: 1)
>   Failed test:  5
>   Non-zero exit status: 1
> Files=41, Tests=960, 173 wallclock secs ( 0.37 usr  0.44 sys + 151.37 cusr 
> 15.59 csys = 167.77 CPU)
> Result: FAIL


Now that all prereqs are in the perl-5.22 repo, I took a closer look,
and I must say: Yet Another Interesting Bug :)

The "Unescaped left brace in regex" warnings can be fixed with the
attached patch (to be dropped into d/patches), which makes
t/crossrefs.t and t/xdata.t pass.

But t/dm-dateformats.t still fails (where we don't see the output in
the above log snippet) like:

#v+
# Looks like your test exited with 255 before it could output anything.
t/dm-dateformats.t .... 
1..33
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 33/33 subtests 
[..]
Test Summary Report
-------------------
t/dm-dateformats.t  (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 33 tests but ran 0.
Files=41, Tests=960, 89 wallclock secs ( 0.26 usr  0.08 sys + 83.00 cusr  4.23 
csys = 87.57 CPU)
Result: FAIL
Failed 1/41 test programs. 0/960 subtests failed.
#v-

Running the test manually also doesn't give more information:

#v+
# prove --blib --verbose t/dm-dateformats.t
t/dm-dateformats.t .. 
1..33
# Looks like your test exited with 255 before it could output anything.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 33/33 subtests 

Test Summary Report
-------------------
t/dm-dateformats.t (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 33 tests but ran 0.
Files=1, Tests=0,  1 wallclock secs ( 0.04 usr  0.02 sys +  0.61 cusr  0.02 
csys =  0.69 CPU)
Result: FAIL
#v-

Adding some debug output shows that it dies in
    # Now generate the information
    $biber->prepare;

And from here on I lack ideas for further debugging :/


Cheers,
gregor

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: George Harrison: I Remember Jeep
--- a/lib/Biber/Input/file/bibtex.pm
+++ b/lib/Biber/Input/file/bibtex.pm
@@ -748,7 +748,7 @@
     # Check for malformed names in names which aren't completely escaped
 
     # Too many commas
-    unless ($name =~ m/\A{\X+}\z/xms) { # Ignore these tests for escaped names
+    unless ($name =~ m/\A\{\X+}\z/xms) { # Ignore these tests for escaped names
       my @commas = $name =~ m/,/g;
       if ($#commas > 1) {
         biber_warn("Name \"$name\" has too many commas: skipping name", 
$bibentry);
--- a/lib/Biber/LaTeX/Recode.pm
+++ b/lib/Biber/LaTeX/Recode.pm
@@ -230,13 +230,13 @@
         $text =~ s/\\not\\($re)/$map->{$1}/ge;
       }
       elsif ($type eq 'superscripts') {
-        $text =~ s/\\textsuperscript{($re)}/$map->{$1}/ge;
+        $text =~ s/\\textsuperscript\{($re)}/$map->{$1}/ge;
       }
       elsif ($type eq 'cmdsuperscripts') {
-        $text =~ s/\\textsuperscript{\\($re)}/$map->{$1}/ge;
+        $text =~ s/\\textsuperscript\{\\($re)}/$map->{$1}/ge;
       }
       elsif ($type eq 'dings') {
-        $text =~ s/\\ding{([2-9AF][0-9A-F])}/$map->{$1}/ge;
+        $text =~ s/\\ding\{([2-9AF][0-9A-F])}/$map->{$1}/ge;
       }
       elsif ($type eq 'letters') {
         $text =~ s/\\($re)(?:\{\}|\s+|\b)/$map->{$1}/ge;

Attachment: signature.asc
Description: Digital Signature

Reply via email to