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
1 On Tuesday 10 January 2006 11:45 pm, Michael Cummings wrote:
2 > Hey there again,
3
4 Hi Michael -
5
6 >
7 > Hope you don't mind, but I'm going (to attempt) to reply to the second
8 > message in this thread. A few things that are going on that might be
9 > interfering with how your tests are being run...
10 >
11 > (Don't quote me specifically on this, I'm not a portage internals
12 > person - or even happy when I have to look at the python that is
13 > portage...) When you are running the tests via portage, your working in
14 > a different environment than when your testing via the command line.
15 > First and foremost there's the sandbox to consider, which among other
16 > things would be trumping your local environment (including the
17 > definition of $HOME) and using a sanitized, pseudo-chroot (best I can
18 > think of to describe it) env. Also, when portage is running the tests,
19 > it is my thinking it will always return to your shell a 0 status -
20 > because at that point, portage is cleanly exiting. Now on the inside,
21 > its getting the die status, wrapping it in 'our' standard message about
22 > where to file bugs, etc., and printing it all out stdout.
23 > The lack of a defined useshrplib makes sense - in the case of the
24 > current (ie, not what I've been playing around with in my experimental
25 > overlay, where I wreak complete havoc on the gentoo perl world) ebuilds
26 > for perl, libperl is built separately, and perl itself is built against
27 > a static libperl.a (the libperl.so is around for everything else in the
28 > known universe), so I wouldn't put any stock into that missing def.
29 > So (hopfully beating the next question to the punch) how best to test
30 > in this case? I'd probably do a manual
31 > ebuild package compile
32 > cd /var/tmp/portage/<package>/work/<working dir>
33 > make test
34 > which *should* at least yield whether everything is working ok.
35 > Alternatively (painfully) you can install the package, then unpack the
36 > source somewhere and make test there (so its using your live system's
37 > install of the module against the test harness suite in the unpack).
38
39 Sorry I didn't make that clearer - the results below were generated
40 _completely_ outside of portage; for each test I manually unpacked,
41 perl Makefile.pl, make, make test in the traditional way. The only
42 thing I can see that was different was the perl I used (same make, same
43 version of Extutils::Command, etc. ).
44
45 > And as a final note...this is one of the reasons tests are enabled
46 > universally ;) Hopefully all of that made sense (my coffee just finished
47 > brewing if that gives any indication on the state of my consciousness),
48 > but if not, lemme know, hopefully someone more cognizant and intelligent
49 > will jump in to correct me.
50
51 I guess I will proceed to get into big trouble by building a perl in
52 portage (overriding the standard) with the configuration I used in
53 my /home/beau perl. If my system is still running :) I'll get back to
54 you soon.
55
56 PS: Sorry about posting the patch on the list - will bugzilla from now on.
57
58 >
59 > ~mcummings
60 >
61 > On Tue, 2006-01-10 at 20:43 -1000, Beau E. Cox wrote:
62 > > Hi -
63 > >
64 > > Me again. I am still having problems with return code
65 > > from a failed make test. Here is a specific example using
66 > > the ebuild I created for DBD-mysql. On my system I run with
67 > > the normal gentoo perl:
68 > >
69 > > * dev-lang/perl
70 > > Available versions: 5.8.6-r5 5.8.6-r6 5.8.6-r7 5.8.6-r8 5.8.7
71 > > 5.8.7-r1 5.8.7-r2 5.8.7-r3
72 > > Installed: 5.8.7-r3
73 > > Homepage: http://www.perl.org/
74 > > Description: Larry Wall's Practical Extraction and Reporting
75 > > Language
76 > >
77 > > and a perl compiled from the perl.org stable sources
78 > > and installed on a user (/home/beau).
79 > >
80 > > I force a failure in the DBD-mysql my specifying an invalid
81 > > user name on the perl Makefile.PL command.
82 > >
83 > > Using the 'normal' gentoo perl make test:
84 > >
85 > > [...]
86 > > FAILED before any test output arrived
87 > > t/mysql2.............Mysql
88 > > connect('database=test;host=;mysql_emulated_prepare=1','mysqlx',...)
89 > > failed: Access denied for user 'mysqlx'@'localhost' (using password: YES)
90 > > at t/mysql2.t line 29
91 > > Can't call method "getserverinfo" on an undefined value at t/mysql2.t
92 > > line 30. t/mysql2.............dubious
93 > > Test returned status 255 (wstat 65280, 0xff00)
94 > > Failed Test Stat Wstat Total Fail Failed List of Failed
95 > > -------------------------------------------------------------------------
96 > >------ t/10dsnlist.t 10 2560 9 17 188.89% 1-9
97 > > Failed Test Stat Wstat Total Fail Failed List of Failed
98 > > -------------------------------------------------------------------------
99 > >------ [...yada,yada...]
100 > > -------------------------------------------------------------------------
101 > >------ t/mysql.t ?? ?? % ??
102 > > Failed Test Stat Wstat Total Fail Failed List of Failed
103 > > -------------------------------------------------------------------------
104 > >------ t/mysql2.t 255 65280 ?? ?? % ??
105 > > 1 test skipped.
106 > > Failed 19/21 test scripts, 9.52% okay. 890/897 subtests failed, 0.78%
107 > > okay. Files=21, Tests=897, 7 wallclock secs ( 1.77 cusr + 0.24 csys =
108 > > 2.01 CPU) $ echo $?
109 > > 0
110 > >
111 > > Using a perl compiled from the perl.org source:
112 > >
113 > > [...]
114 > > FAILED before any test output arrived
115 > > t/mysql2.............Mysql
116 > > connect('database=test;host=;mysql_emulated_prepare=1','mysqlx',...)
117 > > failed: Access denied for user 'mysqlx'@'localhost' (using password: YES)
118 > > at t/mysql2.t line 29
119 > > Can't call method "getserverinfo" on an undefined value at t/mysql2.t
120 > > line 30. t/mysql2.............dubious
121 > > Test returned status 255 (wstat 65280, 0xff00)
122 > > Failed Test Stat Wstat Total Fail Failed List of Failed
123 > > -------------------------------------------------------------------------
124 > >------ t/10dsnlist.t 10 2560 9 17 188.89% 1-9
125 > > [...yada,yada...]
126 > > t/mysql2.t 255 65280 ?? ?? % ??
127 > > 1 test skipped.
128 > > Failed 19/21 test scripts, 9.52% okay. 890/897 subtests failed, 0.78%
129 > > okay. make: *** [test_dynamic] Error 255
130 > > $ echo $?
131 > > 2
132 > >
133 > > NOTE:
134 > > 1) gentoo perl return 0
135 > > 2) my perl returns 2 and says "make: *** [test_dynamic] Error 255"
136 > >
137 > > The differences in perl -V seem to be:
138 > >
139 > > gentoo has:
140 > > cc='i686-pc-linux-gnu-gcc'
141 > >
142 > > while I have:
143 > > cc='cc'
144 > > -Duseshrplib defined
145 > >
146 > > I am totally confused! I wonder if anyone can reproduce this
147 > > or if it is a figment of a misconfiguration of mine?
148 > >
149 > > --
150 > > Aloha => Beau;
151
152 --
153 Aloha => Beau;
154
155 --
156 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>