[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
'make check' fails due to old perl on cygwin
From: |
Denis Excoffier |
Subject: |
'make check' fails due to old perl on cygwin |
Date: |
Fri, 15 Nov 2019 07:41:34 +0100 |
Hello,
This is not specific to bison-3.4.90.
Today, i experienced 35 failures in ‘make check’ (bison-3.4.90) on Cygwin (all
within output.at). Other tests (notably in diagnostics.at) would also fail if
they were not skipped because of the 'locale -a’ issue fixed last week in trunk.
That’s why:
- My usual perl (perl5.30.0, now perl5.30.1) was broken today, therefore, when
perl was needed (cf "perl -pi -e XX" in test 074 for example), the $path
selected the standard /usr/bin/perl which is perl5.26.2.
- You must know that perl5.28.0 changed the way they handle the "Editing
in-place" functionality, in particular when <extension> (given after ‘-i') is
empty.
- This change was mostly transparent for everyone I know, except for Cygwin,
because in the old (pre 5.28) way of working, "perl -pi -e XX foo" in Cygwin
used to produce a file called ‘foo.bak’. In the new way of working, the file
‘foo.bak’ is no longer produced.
- Therefore, an old perl on Cygwin produces foo.y.bak and this 'perl -pi -e XX
foo.y’ targets a failure because foo.y.bak is an unexpected output of the test.
To ’solve’ the problem, you may skip the tests containing ‘perl -pi -e XX' on
Cygwin if perl is pre 5.28. Or otherwise.
Feel free to ask more information for clarification.
Regards,
Denis Excoffier.
- 'make check' fails due to old perl on cygwin,
Denis Excoffier <=