'make check' fails due to old perl on cygwin

Denis Excoffier <[email protected]>
Newsgroups gmane.comp.parsers.bison.bugs
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.