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 |