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