Gentoo Archives: gentoo-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] EAPI 1 (Was: Re: Monthly Gentoo Council Reminder for April)
Date: Sat, 14 Apr 2007 03:05:15
Message-Id: 200704132301.41614.vapier@gentoo.org
In Reply to: Re: [gentoo-dev] EAPI 1 (Was: Re: Monthly Gentoo Council Reminder for April) by Daniel Ostrow
1 On Friday 13 April 2007, Daniel Ostrow wrote:
2 > 1). Even though src_test is not mandatory in the here and now any
3 > package that provides a test suite that fails said tests has a bug. It
4 > may not be a critical bug but it is in fact a bug.
5 >
6 > 2). The proper fix, again in the here and now, for said bug is either to
7 > a). fix the test suite or b). add a RESTRICT="test" to the ebuild. Since
8 > sec_test is not mandatory however these things happen rarely if at all.
9 >
10 > With the above in mind I entirely agree that adding it as a mandatory
11 > phase for EAPI=1 makes sense. Think of it this way:
12 >
13 > 1). Developer A is bumping a package and is including some new
14 > functionality in his ebuilds that require something in EAPI=1, say for
15 > example a SLOT dependency. As such Developer A is already editing the
16 > ebuild *and* testing it.
17 >
18 > 2). As part of his test he checks if the built in test suite works,
19 > something he should be doing *anyway*. If it does great, if it doesn't
20 > then he has two choices, as above, fix it or add a RESTRICT="test", at
21 > *worst* adding 15 whole characters (16 if you include the extra carriage
22 > return he will need to add) to his ebuild.
23 >
24 > 3). Developer A then marks his ebuild as EAPI=1 and off he goes on to
25 > bigger and better things.
26 >
27 > This will allow a whole slew of VERY useful information to be available:
28 >
29 > 1). The QA team can now query the tree for packages that have known bad
30 > test suites simply by looking for ebuilds that have RESTRICT="test". As
31 > it stands now this is impossible to accomplish.
32 >
33 > 2). Interested volunteers, both developer and user alike, who are
34 > looking for ways to help out, can now be given a concrete list of known
35 > test suites to go and fix, this improves the QA of the packages in the
36 > tree.
37 >
38 > 3). The fact that a bug in the test suite exists is no longer hidden
39 > from view.
40 >
41 > 4). Since the test suites are now mandatory end users can feel more
42 > confident in the state of their installed software, this is no silver
43 > bullet but it is a step in the right direction.
44 >
45 > The *only* downside that I can see here is that by default the package
46 > installation process gets a little longer. To get around this some
47 > method of globally opting out of src_test should be provided to the end
48 > user, however since it is an on by default feature someone at least has
49 > *tried* the test suite.
50
51 so you've validated that the platform the developer testing the ebuild on
52 works ... you know nothing about any other platform that Gentoo supports and
53 in the end, the users continue to hit src_test failure after src_test failure
54 which, after they quickly get tired of filing [duplicate] bugs, they realize
55 they have no way at all of disabling the mandatory test ... RESTRICT is an
56 ebuild variable, not a package manager variable
57
58 as you said yourself, it may not be a critical bug, but it's still a bug and
59 users have no way of trivially bypassing it or even opting out of tests in
60 the first place. you may enjoy running src_test on every single machine of
61 yours out there, but i certainly dont.
62
63 this is why implementing it via the profile FEATURES works ... users can still
64 easily opt out and in case of some catastrofuck and we havent screwed
65 ourselves into a corner by mixing policy with spec
66 -mike

Replies