1 |
ons 2009-10-07 klockan 16:46 +0200 skrev Gilles Dartiguelongue: |
2 |
> Le mardi 06 octobre 2009 à 20:38 -0600, Ryan Hill a écrit : |
3 |
> > Some packages, like dbus[1], have testing features that, while useful for |
4 |
> > developers and arch-testers, aren't something that should be foisted on |
5 |
> > users. Dbus' case is extreme, as it builds-in functions that are useful for |
6 |
> > unit testing, but result in an insecure and unstable package (I just "fixed" a |
7 |
> > bunch of testsuite failures i've been seeing in dbus-using packages by |
8 |
> > disabling USE=test). Other packages have testsuites that take an unreasonable |
9 |
> > amount of time to build/run (db, ppl, boost, that faad/faac one that takes |
10 |
> > six hours), are pretty much guaranteed to fail (gcc, binutils), have strange |
11 |
> > dependency quirks (can't run the tests unless the package is already |
12 |
> > installed, create circular dependencies), or a dozen other situations I can't |
13 |
> > think of right now. |
14 |
> > |
15 |
> > I'd like to propose a new USE flag, qa-test or a better name, to handle these |
16 |
> > cases in a consistent way. This would give us a way to differentiate between |
17 |
> > tests that everyone should run and tests that only devs and arch-testers |
18 |
> > would be interested in, making enabling FEATURES=test by default in a future |
19 |
> > EAPI a little more palatable. Use of this flag would be up to the |
20 |
> > maintainer, of course. |
21 |
> |
22 |
> while it might sound sane, I think this proposal covers too much cases, |
23 |
> most of which should actually be filled as bugs to the maintainers of |
24 |
> the packages for not fixing the testsuite (or not filling an upstream |
25 |
> bug) before commiting to the tree. |
26 |
> |
27 |
> For gnome ebuilds as someone commented out, the test failure rate is |
28 |
> quite stable, and we are slowly trying to get around them, or at least |
29 |
> not commiting ebuilds with new regressions in the testsuite. |
30 |
> |
31 |
> Use of RESTRICT="test" shouldn't be encouraged as it disables tests |
32 |
> completely while part of them might still work and be relevant. |
33 |
> |
34 |
|
35 |
|
36 |
The problem comes with packages like dbus where the testsuit is pretty |
37 |
useful for ATs, but if dbus is merged with FEATURES="test" then other |
38 |
testsuits for other packages depending on dbus breaks, which AFAICS |
39 |
tells us that a dbus built with tests is pretty broken for general |
40 |
usage. |
41 |
|
42 |
Example: |
43 |
|
44 |
FEATURES="test" emerge -1q dbus && FEATURES="test" emerge -1q |
45 |
dbus-python |
46 |
and dbus-python will FAIL its testsuit. |
47 |
|
48 |
However |
49 |
FEATURES="-test" USE="-test" emerge -1q dbus && FEATURES="test" emerge |
50 |
-1q dbus-python |
51 |
and dbus-python will compile, test and install without problems. |
52 |
|
53 |
Now how do we ensure that the ATs still can test a package even under |
54 |
these conditions? |
55 |
Because as I see it RESTRICT is only for packages whose testsuits are |
56 |
broken by design and never meant to be run on a working system (yeah |
57 |
*drm*, I am looking at you). |
58 |
|
59 |
I think we first hand should decide over these packages, after a |
60 |
decision is made about these problems with MORE then a compile-time |
61 |
impact, we can start talking about less important problems (i.e. |
62 |
problems that do not break stuff) like how long time a testsuit is |
63 |
supposed to run. |
64 |
|
65 |
And FEATURES="test" IS sometimes a good thing, I learned this the hard |
66 |
way once when something broke grub for me, and one of the things that |
67 |
made my system unbootable was one of those things the grub testsuit |
68 |
checks for. |