1 |
Hi, everyone. |
2 |
|
3 |
Per long-standing unwritten (or rather, written but not really |
4 |
officially approved) policy unmasked ebuilds are not allowed to fiddle |
5 |
with Internet. While this normally makes a lot of sense (except for |
6 |
special cases like live ebuilds), this also means that for some poorly |
7 |
written packages we end up either disabling a fair number of tests, or |
8 |
even restricting tests completely. |
9 |
|
10 |
The Internet-based tests are of course mostly unreliable in the long |
11 |
run, and should normally be replaced by some kind of mocking, local |
12 |
servers etc., we simply do not have the manpower to fix all |
13 |
the packages. All we can do is disable them. |
14 |
|
15 |
Sadly, for some packages this means that we're left with no tests at |
16 |
all. As developers, we can play around to run the tests manually, or |
17 |
comment out needed ebuild bits for extra local testing. However, I think |
18 |
it would make our work easier if we had a more uniform solutions for |
19 |
detecting whenever the developer needs to disable networked tests, |
20 |
and how to enable them. |
21 |
|
22 |
The obvious solution would be to use a global USE flag with explanatory |
23 |
description for that. For example: |
24 |
|
25 |
internet-test - Enable running tests that access the Internet. Those |
26 |
tests can be unreliable, result in data transfer fees and cause privacy |
27 |
concerns (potentially exposing which packages are being installed). Use |
28 |
at your own discretion. |
29 |
|
30 |
|
31 |
The advantages of that would be: |
32 |
|
33 |
a. tests requiring Internet are exposed in the standard ebuild metadata, |
34 |
making it easy to grab it using standard tools, |
35 |
|
36 |
b. those tests can easily be enabled, and that fact is recorded |
37 |
in the installed package metadata, |
38 |
|
39 |
c. the flag can easily be used in RESTRICT="" constraint to easily |
40 |
disable all the tests. |
41 |
|
42 |
The disadvantage is that we're introducing yet another special flag that |
43 |
does not affect installed files. |
44 |
|
45 |
|
46 |
What do you think? Any other ideas? |
47 |
|
48 |
|
49 |
-- |
50 |
Best regards, |
51 |
Michał Górny |