Gentoo Archives: gentoo-perl

From: "Beau E. Cox" <beaucox@×××××××××.com>
To: gentoo-perl@l.g.o
Subject: Re: [gentoo-perl] Specific example of make test failure returning $? of 0
Date: Wed, 11 Jan 2006 15:00:27
Message-Id: 200601110500.07170.beaucox@hawaii.rr.com
In Reply to: Re: [gentoo-perl] Specific example of make test failure returning $? of 0 by Michael Cummings
On Tuesday 10 January 2006 11:45 pm, Michael Cummings wrote:
> Hey there again,
Hi Michael -
> > Hope you don't mind, but I'm going (to attempt) to reply to the second > message in this thread. A few things that are going on that might be > interfering with how your tests are being run... > > (Don't quote me specifically on this, I'm not a portage internals > person - or even happy when I have to look at the python that is > portage...) When you are running the tests via portage, your working in > a different environment than when your testing via the command line. > First and foremost there's the sandbox to consider, which among other > things would be trumping your local environment (including the > definition of $HOME) and using a sanitized, pseudo-chroot (best I can > think of to describe it) env. Also, when portage is running the tests, > it is my thinking it will always return to your shell a 0 status - > because at that point, portage is cleanly exiting. Now on the inside, > its getting the die status, wrapping it in 'our' standard message about > where to file bugs, etc., and printing it all out stdout. > The lack of a defined useshrplib makes sense - in the case of the > current (ie, not what I've been playing around with in my experimental > overlay, where I wreak complete havoc on the gentoo perl world) ebuilds > for perl, libperl is built separately, and perl itself is built against > a static libperl.a (the libperl.so is around for everything else in the > known universe), so I wouldn't put any stock into that missing def. > So (hopfully beating the next question to the punch) how best to test > in this case? I'd probably do a manual > ebuild package compile > cd /var/tmp/portage/<package>/work/<working dir> > make test > which *should* at least yield whether everything is working ok. > Alternatively (painfully) you can install the package, then unpack the > source somewhere and make test there (so its using your live system's > install of the module against the test harness suite in the unpack).
Sorry I didn't make that clearer - the results below were generated _completely_ outside of portage; for each test I manually unpacked, perl Makefile.pl, make, make test in the traditional way. The only thing I can see that was different was the perl I used (same make, same version of Extutils::Command, etc. ).
> And as a final note...this is one of the reasons tests are enabled > universally ;) Hopefully all of that made sense (my coffee just finished > brewing if that gives any indication on the state of my consciousness), > but if not, lemme know, hopefully someone more cognizant and intelligent > will jump in to correct me.
I guess I will proceed to get into big trouble by building a perl in portage (overriding the standard) with the configuration I used in my /home/beau perl. If my system is still running :) I'll get back to you soon. PS: Sorry about posting the patch on the list - will bugzilla from now on.
> > ~mcummings > > On Tue, 2006-01-10 at 20:43 -1000, Beau E. Cox wrote: > > Hi - > > > > Me again. I am still having problems with return code > > from a failed make test. Here is a specific example using > > the ebuild I created for DBD-mysql. On my system I run with > > the normal gentoo perl: > > > > * dev-lang/perl > > Available versions: 5.8.6-r5 5.8.6-r6 5.8.6-r7 5.8.6-r8 5.8.7 > > 5.8.7-r1 5.8.7-r2 5.8.7-r3 > > Installed: 5.8.7-r3 > > Homepage: http://www.perl.org/ > > Description: Larry Wall's Practical Extraction and Reporting > > Language > > > > and a perl compiled from the perl.org stable sources > > and installed on a user (/home/beau). > > > > I force a failure in the DBD-mysql my specifying an invalid > > user name on the perl Makefile.PL command. > > > > Using the 'normal' gentoo perl make test: > > > > [...] > > FAILED before any test output arrived > > t/mysql2.............Mysql > > connect('database=test;host=;mysql_emulated_prepare=1','mysqlx',...) > > failed: Access denied for user 'mysqlx'@'localhost' (using password: YES) > > at t/mysql2.t line 29 > > Can't call method "getserverinfo" on an undefined value at t/mysql2.t > > line 30. t/mysql2.............dubious > > Test returned status 255 (wstat 65280, 0xff00) > > Failed Test Stat Wstat Total Fail Failed List of Failed > > ------------------------------------------------------------------------- > >------ t/10dsnlist.t 10 2560 9 17 188.89% 1-9 > > Failed Test Stat Wstat Total Fail Failed List of Failed > > ------------------------------------------------------------------------- > >------ [...yada,yada...] > > ------------------------------------------------------------------------- > >------ t/mysql.t ?? ?? % ?? > > Failed Test Stat Wstat Total Fail Failed List of Failed > > ------------------------------------------------------------------------- > >------ t/mysql2.t 255 65280 ?? ?? % ?? > > 1 test skipped. > > Failed 19/21 test scripts, 9.52% okay. 890/897 subtests failed, 0.78% > > okay. Files=21, Tests=897, 7 wallclock secs ( 1.77 cusr + 0.24 csys = > > 2.01 CPU) $ echo $? > > 0 > > > > Using a perl compiled from the perl.org source: > > > > [...] > > FAILED before any test output arrived > > t/mysql2.............Mysql > > connect('database=test;host=;mysql_emulated_prepare=1','mysqlx',...) > > failed: Access denied for user 'mysqlx'@'localhost' (using password: YES) > > at t/mysql2.t line 29 > > Can't call method "getserverinfo" on an undefined value at t/mysql2.t > > line 30. t/mysql2.............dubious > > Test returned status 255 (wstat 65280, 0xff00) > > Failed Test Stat Wstat Total Fail Failed List of Failed > > ------------------------------------------------------------------------- > >------ t/10dsnlist.t 10 2560 9 17 188.89% 1-9 > > [...yada,yada...] > > t/mysql2.t 255 65280 ?? ?? % ?? > > 1 test skipped. > > Failed 19/21 test scripts, 9.52% okay. 890/897 subtests failed, 0.78% > > okay. make: *** [test_dynamic] Error 255 > > $ echo $? > > 2 > > > > NOTE: > > 1) gentoo perl return 0 > > 2) my perl returns 2 and says "make: *** [test_dynamic] Error 255" > > > > The differences in perl -V seem to be: > > > > gentoo has: > > cc='i686-pc-linux-gnu-gcc' > > > > while I have: > > cc='cc' > > -Duseshrplib defined > > > > I am totally confused! I wonder if anyone can reproduce this > > or if it is a figment of a misconfiguration of mine? > > > > -- > > Aloha => Beau;
-- Aloha => Beau; -- gentoo-perl@g.o mailing list

Replies

Subject Author
Re: [gentoo-perl] Specific example of make test failure returning $? of 0 Michael Cummings <mcummings@g.o>