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 |