Gentoo Archives: gentoo-dev

From: "Justin <jlec>" <jlec@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] New gen-b0rk repository specifically for Q/A tools testing
Date: Thu, 05 May 2016 21:59:37
Message-Id: 572BC234.7060503@gentoo.org
In Reply to: Re: [gentoo-dev] New gen-b0rk repository specifically for Q/A tools testing by "M. J. Everitt"
1 On 02/05/2016 12:57 am, M. J. Everitt wrote:
2 > On 02/05/16 00:53, Brian Dolbec wrote:
3 >> In order to further improve the chances of Q/A tools catching
4 >> errors. I have created a new repo (overlay) which will contain minimal
5 >> test case ebuilds. The idea is to have test case ebuilds to run
6 >> repoman code against. The outcome of these runs should be comparable
7 >> to pre-recorded output. In that way as more code changes are applied
8 >> as part of the stage3 re-write as well as new test cases and checks to
9 >> be added to it's capabilities. It should minimize the bugs introduced
10 >> in releases.
11 >>
12 >> Repoman does have some unit tests, but it is far from 100% coverage.
13 >> Also with the major structural changes that the code has been
14 >> undergoing, it is not always possible for the unit tests to be
15 >> compatible with the new code.
16 >>
17 >> This new repository is open to all Gentoo developers to contribute to.
18 >> All we ask is that you follow some simple common sense rules for adding
19 >> additional test ebuilds.
20 >>
21 >> The repo is located at:
22 >>
23 >> https://gitweb.gentoo.org/repo/proj/gen-b0rk.git/
24 >>
25 >> Here is the README included in the base directory.
26 >>
27 >> This repository is for the primary purpose of testing Q/A tools like repoman.
28 >>
29 >> The ebuilds it contains are for testing specific areas of tests that are
30 >> performed as part of the normal operation of that Q/A tool.
31 >>
32 >> This repository is open to all Gentoo developers under the following rules:
33 >>
34 >> 1) The master branch is to remain the stable Q/A testing branch.
35 >>
36 >> 2) All ebuilds are to be minimal test cases.
37 >>
38 >> 3) All ebuilds in it are to have no more than 3 or 4 flaws to detect.
39 >> This makes it easier to spot errors during code development. Simply running
40 >> repoman in a category should be enough to test everything the module tests.
41 >> This excludes some commit only checks which can be run in a local only branch.
42 >>
43 >> 4) All category names are to represent the Q/A category being tested.
44 >> ie:
45 >> ebuild-test - tests various aspects of the ebuild repoman module
46 >> eclass-test - various eclass module tests
47 >> ...
48 >>
49 >> 5) like the category naming, the package naming will follow the test
50 >> being performed.
51 >> ie:
52 >> eclass-test/live-keywords - test the eclass module LiveEclassChecks
53 >> keywords check
54 >> ebuild-test/invalid - test for invalid package name detection
55 >>
56 >> 6) Profiles ... Not sure about this one, but probaly will have masters=gentoo
57 >> That should ensure it maintains co-ordination with the main gentoo repo.
58 >> All new or modified eclasses that affect pkg metadata should be validated in
59 >> a branch.
60 >>
61 >> 7) New module development and test ebuilds will be done in a branch or personal
62 >> repo and submitted to the gentoo-portage-dev email list for review and
63 >> approval to merge into master.
64 >> NOTE: This rule is lifted for the initial creation and population of
65 >> test ebuilds to use to test out the repoman code. An anouncemnt to
66 >> the gentoo-project email list will be made when this initial population
67 >> period is being ended.
68 >>
69 >> 8) Signed commits only, also signed-pushes are mandatory
70 >>
71 >> 9) The metadata category will get files of validated output that can be used
72 >> to verify code changes in the various categories and repo wide runs.
73 >> Diffing the output, should help to verify code changes did not break anything.
74 >>
75 >> 10) See rules 1-9 :-)
76 >>
77 > +1 be good to have somewhere central for this stuff :]
78 >
79 We can also run this on our new recruits. :)

Attachments

File name MIME type
signature.asc application/pgp-signature