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@xxxxxxxxxx mailing list
|