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. :) |