Gentoo Archives: gentoo-dev

From: Peter Hjalmarsson <xake@×××××××××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: RFC: USE=qa-test
Date: Wed, 07 Oct 2009 17:20:05
Message-Id: 1254935932.6418.122.camel@lillen.dodi
In Reply to: Re: [gentoo-dev] RFC: USE=qa-test by Gilles Dartiguelongue
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.