1 |
On 05/17/2016 06:01 AM, Pallav Agarwal wrote: |
2 |
> Hi, |
3 |
> You are right, of course. |
4 |
> The target is to standardize something that would encourage maintainers |
5 |
> to actually provide non-upstream scripts to test packages. At the same |
6 |
> time, it should be possible to use those scripts for automated testing |
7 |
> without |
8 |
> human interference. |
9 |
> |
10 |
|
11 |
We already have "emerge --config" which is expected to be run after the |
12 |
install process has completed, so I don't think that this is too much of |
13 |
a stretch. Maybe call the phase "pkg_test" analogous to "pkg_config" and |
14 |
in contrast to "src_test" which runs within the working directory. Then |
15 |
"emerge --test" could run it. |
16 |
|
17 |
I stole the Emacs "test plan" idea for a few Haskell packages: |
18 |
|
19 |
https://wiki.gentoo.org/wiki/Project:Haskell/Test_plans |
20 |
|
21 |
These do go a little beyond the scope of unit tests: they check that we |
22 |
installed the package in the right place, that it's available to your |
23 |
ghci interpreter, and that we haven't installed some other library with |
24 |
a name collision. |
25 |
|
26 |
Some of them have predictable output (like when we hash a string), but |
27 |
others might cause some trouble. The expected output for hscolour is |
28 |
"you should see a syntax-highlighted version of Example.hs echoed to |
29 |
your terminal." I don't care what colors show up, as long as that happens. |
30 |
|
31 |
Still, even if it doesn't work in 100% of cases, I think it could be |
32 |
useful. Some people may have inflated ideas of what the stabilization |
33 |
process currently involves. In many cases, it's a compile/execute test |
34 |
with no expected results and that could easily be automated even if it's |
35 |
not the world's best stabilization process. |