1f08c3bdfSopenharmony_ciCOVERAGE FILES
2f08c3bdfSopenharmony_ci==============
3f08c3bdfSopenharmony_ci
4f08c3bdfSopenharmony_ciEvery area of the POSIX spec that has tests written for it should be tracked by
5f08c3bdfSopenharmony_cia corresponding COVERAGE.<area> file in the Documentation directory. The first
6f08c3bdfSopenharmony_ciexample file is COVERAGE.timers, which I will keep up to date with the latest
7f08c3bdfSopenharmony_ciformat.
8f08c3bdfSopenharmony_ci
9f08c3bdfSopenharmony_ciThe idea with these files is to track the progress of test creation. Also, the
10f08c3bdfSopenharmony_cifiles will be parsed nightly to generate the Project Status web page at
11f08c3bdfSopenharmony_cihttp://posixtest.sf.net/status.html so they must conform to a certain format.
12f08c3bdfSopenharmony_ci
13f08c3bdfSopenharmony_ciTo simplify the creation of a tool to parse these files, the following rules
14f08c3bdfSopenharmony_cishould be observed in creating the file.
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ciCompletion of POSIX Function Conformance Tests
17f08c3bdfSopenharmony_ci----------------------------------------------
18f08c3bdfSopenharmony_ciThere should be one line for each POSIX function included in this area of the
19f08c3bdfSopenharmony_ciPOSIX spec. The tests for these functions are currently found in the
20f08c3bdfSopenharmony_ciconformance/behavior/<function-name> directory. (They may be moved to
21f08c3bdfSopenharmony_ciconformance/interfaces/<function-name> shortly.) The function test directory
22f08c3bdfSopenharmony_cineed not exist yet, but the list of functions in the COVERAGE file should be
23f08c3bdfSopenharmony_cicomplete.
24f08c3bdfSopenharmony_ci
25f08c3bdfSopenharmony_ciEach line should have this format:
26f08c3bdfSopenharmony_ci<function-name>  <complete?>  <other-fields>
27f08c3bdfSopenharmony_ci
28f08c3bdfSopenharmony_ciThat is, spaces or tabs as whitespace separating the function name and complete
29f08c3bdfSopenharmony_cifields, and any other fields, if present. Other fields will be ignored by the
30f08c3bdfSopenharmony_ciparser currently.
31f08c3bdfSopenharmony_ci
32f08c3bdfSopenharmony_ciFor example, from COVERAGE.timers:
33f08c3bdfSopenharmony_ciclock_gettime	NO*	MED
34f08c3bdfSopenharmony_ci
35f08c3bdfSopenharmony_ciOnly the first letter of the complete? field will be read, and should be either
36f08c3bdfSopenharmony_ciN or Y. (So you are free to have asterisks as Julie has done.)
37f08c3bdfSopenharmony_ci
38f08c3bdfSopenharmony_ciShe has a priority field after that HIGH/MED/LOW which is currently not used by
39f08c3bdfSopenharmony_cithe parser.
40f08c3bdfSopenharmony_ci
41f08c3bdfSopenharmony_ciInformation Fields
42f08c3bdfSopenharmony_ci------------------
43f08c3bdfSopenharmony_ciAdditional information should be provided with this format:
44f08c3bdfSopenharmony_ciField-Name: Value-Data
45f08c3bdfSopenharmony_ci
46f08c3bdfSopenharmony_ciThe field "Coverage-Area" MUST be provided with a description of this area of
47f08c3bdfSopenharmony_cithe POSIX spec such as "Clocks & Timers (TMR)".
48f08c3bdfSopenharmony_ci
49f08c3bdfSopenharmony_ciThe field "Area-Code" MUST be provided, a unique code with no spaces to use
50f08c3bdfSopenharmony_ciinternally within the web page to link to the stats about this coverage area,
51f08c3bdfSopenharmony_cisuch as "tmr" or "sig".
52f08c3bdfSopenharmony_ci
53f08c3bdfSopenharmony_ciThe field "Maintainer" SHOULD be provided with the name of the active
54f08c3bdfSopenharmony_cimaintainer of this area.
55f08c3bdfSopenharmony_ci
56f08c3bdfSopenharmony_ciThe field "Contributor" MAY be provided (one or more times) with a name of
57f08c3bdfSopenharmony_cisomeone who contributed to the tests in this area (other than the active
58f08c3bdfSopenharmony_cimaintainer).
59f08c3bdfSopenharmony_ci
60f08c3bdfSopenharmony_ciComment Lines
61f08c3bdfSopenharmony_ci-------------
62f08c3bdfSopenharmony_ciAny line that is not of the type defined above must be denoted as a comment
63f08c3bdfSopenharmony_ciline. There are three types of comment lines that will be ignored:
64f08c3bdfSopenharmony_ci
65f08c3bdfSopenharmony_ci- Any blank line or line with whitespace only
66f08c3bdfSopenharmony_ci- Any line beginning with //
67f08c3bdfSopenharmony_ci- Any lines between an opening line of /* and a closing line of */ (inclusive)
68f08c3bdfSopenharmony_ci
69f08c3bdfSopenharmony_ciFor example, only the clock_gettime line would be parsed below:
70f08c3bdfSopenharmony_ci
71f08c3bdfSopenharmony_ci// SAMPLE FILE: First Line
72f08c3bdfSopenharmony_ci
73f08c3bdfSopenharmony_ci// The line above is whitespace only, and the line below is blank
74f08c3bdfSopenharmony_ci
75f08c3bdfSopenharmony_ci/*
76f08c3bdfSopenharmony_ciThis section is for longer
77f08c3bdfSopenharmony_cicomments.
78f08c3bdfSopenharmony_ci*/
79f08c3bdfSopenharmony_ciclock_gettime	NO*	MED
80f08c3bdfSopenharmony_ci
81f08c3bdfSopenharmony_ci// SAMPLE FILE: Last Line
82f08c3bdfSopenharmony_ci
83f08c3bdfSopenharmony_ciOther Tests: Definitions, Functional, Stress, etc.
84f08c3bdfSopenharmony_ci--------------------------------------------------
85f08c3bdfSopenharmony_ciThese tests are not currently handled by the parser tool, and thus should be
86f08c3bdfSopenharmony_ciincluded in comment fields if the information is present.
87f08c3bdfSopenharmony_ci
88f08c3bdfSopenharmony_ciFuture Extensions
89f08c3bdfSopenharmony_ci-----------------
90f08c3bdfSopenharmony_ciIf other fields become required later, they will be moved to the front of the
91f08c3bdfSopenharmony_citext lines, so that optional fields can still appear after them.
92f08c3bdfSopenharmony_ci
93f08c3bdfSopenharmony_ciContributors:	geoffrey.r.gustafson REMOVE-THIS AT intel DOT com
94