This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: 1.5.18: Perl regression tests fail when lib directory is present


Andrew Ho wrote:
Hello,

It appears that on the latest version of Cygwin's Perl, Perl modules with regression tests (for example, ones you can download from CPAN) fail "make test" on every other test. I did some experimentation and this appears to happen only if the modules are in a subdirectory (typically "lib") rather than in the install root.

How to reproduce:

    * Upgrade to latest versions of all Cygwin packages (probably
      Perl is the only relevant one)

    * Download any CPAN module (or create a Perl module) whose files
      are in a "lib" subdirectory. Lingua::EN::Inflect is an arbitrary
      example of one that is unlikely to be already installed.

    * Run through the usual Perl install steps:
      perl Makefile.PL && make && make test

    * Observe that "make test" fails on every other test (odd numbered
      runs, apparently).

I have reduced this breakage to the smallest possible test case:
http://www.zeuscat.com/andrew/src/TestModule.tar.gz

No problems here with Lingua::EN::Inflect, cannot reproduce it. Maybe you have some non Cygwin environment settings? It happens to be a known problem that MakeMaker passes the VC++ environment setting for LIB through to the Makefile and most of the time it fails to compile because it is a path in LIB with non quoted backslashes or even worse a path including spaces.


$ perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Lingua::EN::Inflect

$ make
cp demo_NO.pl blib/lib/Lingua/EN/demo_NO.pl
cp demo_eq.pl blib/lib/Lingua/EN/demo_eq.pl
cp demo_PL.pl blib/lib/Lingua/EN/demo_PL.pl
cp demo_inflect.pl blib/lib/Lingua/EN/demo_inflect.pl
cp demo_NUM.pl blib/lib/Lingua/EN/demo_NUM.pl
cp lib/Lingua/EN/Inflect.pm blib/lib/Lingua/EN/Inflect.pm

$ make test
/usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/classical_all..........ok


t/classical_ancient......ok

t/classical_ancient_1....ok

t/classical_herd.........ok

t/classical_herd_1.......ok

t/classical_names........ok

t/classical_names_1......ok

t/classical_person.......ok

t/classical_person_1.....ok

t/classical_zero.........ok

t/classical_zero_1.......ok

t/inflections............ok

All tests successful.
Files=12, Tests=1413, 10 wallclock secs ( 7.47 cusr + 1.87 csys = 9.34 CPU)




For some reason, this doesn't appear to break modules that are tested under the CPAN shell ("make test" passes for modules built that way).

Another hint that there may be some unusual environment setting?



The Perl package is 5.8.7-2. Here is the output of uname -srm:

CYGWIN_NT-5.1 1.5.18(0.132/4/2) i686

I and my co-workers have reproduced this on several different computers, all running Windows XP.

I am on XP here too, don't know if it matters, I tested Lingua::.. at the same machine where the latest perl release was compiled.



Gerrit
--
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]