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