Gentoo Archives: gentoo-dev

From: "Rick \\\"Zero_Chaos\\\" Farina" <zerochaos@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Handling of tests
Date: Thu, 02 May 2013 05:03:34
Message-Id: 5181F44A.5050204@gentoo.org
In Reply to: [gentoo-dev] Re: Handling of tests (was: GCC USE flag changes) by Ryan Hill
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 On 05/01/2013 09:18 PM, Ryan Hill wrote:
5 > On Wed, 1 May 2013 10:14:02 +0200
6 > Ralph Sennhauser <sera@g.o> wrote:
7 >
8 >> On Tue, 30 Apr 2013 21:25:40 -0600
9 >> Ryan Hill <dirtyepic@g.o> wrote:
10 >>
11 >>> I'm also going to rename the "test" flag to "regression-test" or
12 >>> something similar to get it out of FEATURES="test" control. The
13 >>> testsuite is a huge time-suck and only useful to developers IMO
14 >>> (always expected to fail and primarily meant to be used to check for
15 >>> regressions between patchsets). I'm a big supporter of
16 >>> FEATURES="test" by default and I think this is a small step towards
17 >>> that.
18 >>
19 >> This step is so tiny that we wont ever reach the goal like this.
20 >
21 > I was hoping it would set a precedent and then people would start thinking of
22 > splitting up test into categories, maybe even start a thread about it ;).
23 >
24 >> Let's
25 >> start to properly classify test into categories, like for instance
26 >>
27 >> - expected to be run (cheap, no silly deps)
28 >> - good thing if run (still reasonable wrt resources) (current src_test)
29 >> - if you are the maintainer or simply curious. (boost, jtreg and
30 >> friends)
31 >
32 > Something like "dev-test" or "qa-test"? I can think of a couple packages..
33 >
34 >> ... and improve on how to configure Portage whether to run tests of any
35 >> given category.
36 >
37 > Yeah I'd love to be able to do something like emerge TESTS="dev qa
38 > system -extradeps -expensive" @world.
39
40 Honestly, IMHO, I think breaking it down to more than "test" and "qa" is
41 excessive. I certainly wouldn't block anyone that wishes to do that
42 work, but I think we all realize that enabling tests (and especially
43 some of the really awesome QA tests Diego does in the tinderbox) are
44 really expensive time wise. The average user should never have this
45 enabled, and honestly, most devs shouldn't have it enabled either as
46 they simply won't have the hardware to run the tests every time (I know
47 I've commited things from my chromebook without excessive testing...).
48
49 I have a little cron script that builds all the packages I'm marked
50 maintainer of every night with FEATURES=test and would be easy enough to
51 adapt to looking at herd instead of maintainer.
52
53 I don't claim to be the expert on testing, but in case anyone finds
54 something like this useful... here:
55
56 #!/bin/sh
57
58 emerge --sync -q
59
60 #maintainer check (excluding madwifi)
61 MAINTAINER_OF="$(fgrep 'zerochaos@g.o'
62 /usr/portage/*/*/metadata.xml | cut -d/ -f4-5 | grep -v madwifi)"
63
64 #build test
65 FEATURES="test" emerge --deep --oneshot -q ${MAINTAINER_OF}
66 if [ $? -ne 0 ]; then
67 echo "build failed, see above"
68 fi
69
70 #repoman check
71 for atom in ${MAINTAINER_OF}; do
72 cd /usr/portage/${atom}
73 repoman -qd full > /dev/null
74 if [ $? -ne 0 ]; then
75 repoman -qd full
76 fi
77 done
78
79 Thanks,
80 Zero
81
82
83 PS> I welcome suggestions for this script, new functionality is always
84 welcome
85
86 -----BEGIN PGP SIGNATURE-----
87 Version: GnuPG v2.0.19 (GNU/Linux)
88 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
89
90 iQIcBAEBAgAGBQJRgfRKAAoJEKXdFCfdEflKJPYP/2qUMB5T3KZ1jT2dusdgg3KA
91 yuPAc6xL9VNg25pnVYl14JoS66z1hKpisSCCZeeGT7uqRDEkh+jseEaZIOhrektb
92 Zgn3WXmekmU5pc9wicUW4aYVzNyc9PBbw2NcBWq1HwgfMcwBoX87FxVECw0L71dO
93 hNOWQbJ1amGGoLXiMmAI/S4CpkZcfX3WZv0R2oosKK/Iu34gZeHGk2w5ui4tuY6g
94 sZmKawjXTFzbluIcaZlUPyajBjyZEXx0Vsp3uYUY1lStUNG45q5jaz3/83V+NkF2
95 Lu0FHrXrSW97f19k2HkcTdl4icF48k6bmIbw22xZ1lII+rnV/3uqsok/UayRyF1c
96 w6EIFnS37M/MhDknJ9R65P18v/SWAP2MLnfhcIqFDWs6jXZqq8vpBOfW+waEWsKK
97 8qflxpU08joUBsUSBcz+Y8s6JBxbWVdlY+f+jLsP6kPUH5otHKym7vB2P0nqCGQQ
98 SayT8fpK5izX4UraNhpuOiDV8nH7cvD1h3t6MRlSzRshj7UWyw4nYIkhqFZJhFzW
99 g6hfmLUGqHeHxRKMyImVLY4+PST820s+5mTTG57YuXmzD/nYU9N2Yor61FtgLR26
100 975mApTT4cunHdiUudyGbeaE0j0f/wOe1CAivzTCmDi+tM4dYR78XscPRZCsrk2+
101 JeNw6XtA5A6jvVk12jYN
102 =+Zzv
103 -----END PGP SIGNATURE-----