1*49cdfc7eSAndroid Build Coastguard Worker 2*49cdfc7eSAndroid Build Coastguard WorkerSECTIONS: 3*49cdfc7eSAndroid Build Coastguard Worker1. Open POSIX* Test Suite Overview 4*49cdfc7eSAndroid Build Coastguard Worker2. Design Goals 5*49cdfc7eSAndroid Build Coastguard Worker3. Implementation 6*49cdfc7eSAndroid Build Coastguard Worker4. Developer Docs & Resources 7*49cdfc7eSAndroid Build Coastguard Worker5. How to Contribute 8*49cdfc7eSAndroid Build Coastguard Worker6. Who are you? 9*49cdfc7eSAndroid Build Coastguard Worker7. Disclaimer 10*49cdfc7eSAndroid Build Coastguard Worker 11*49cdfc7eSAndroid Build Coastguard Worker 12*49cdfc7eSAndroid Build Coastguard Worker 13*49cdfc7eSAndroid Build Coastguard Worker1. Open POSIX* Test Suite Overview 14*49cdfc7eSAndroid Build Coastguard Worker----------------------------------- 15*49cdfc7eSAndroid Build Coastguard Worker 16*49cdfc7eSAndroid Build Coastguard WorkerThe POSIX Test Suite is an open source test suite with the goal of 17*49cdfc7eSAndroid Build Coastguard Workerperforming conformance, functional, and stress testing of the IEEE 18*49cdfc7eSAndroid Build Coastguard Worker1003.1-2001 System Interfaces specification in a manner that is 19*49cdfc7eSAndroid Build Coastguard Workeragnostic to any given implementation. 20*49cdfc7eSAndroid Build Coastguard Worker 21*49cdfc7eSAndroid Build Coastguard WorkerWhile active development and testing is currently happening on Linux, 22*49cdfc7eSAndroid Build Coastguard Workerour choice of portable tools should make this test suite usable on any 23*49cdfc7eSAndroid Build Coastguard WorkerPOSIX operating system. 24*49cdfc7eSAndroid Build Coastguard Worker 25*49cdfc7eSAndroid Build Coastguard WorkerAll code is distributed under the GNU General Public License v2. A 26*49cdfc7eSAndroid Build Coastguard Workercopy of this license is contained in the COPYING file. 27*49cdfc7eSAndroid Build Coastguard Worker 28*49cdfc7eSAndroid Build Coastguard WorkerThis document gives a brief overview of the test suite, including its 29*49cdfc7eSAndroid Build Coastguard Workerdesign goals, implementation, and how to contribute. Within these 30*49cdfc7eSAndroid Build Coastguard Workersections, we describe where to find more detailed information. 31*49cdfc7eSAndroid Build Coastguard Worker 32*49cdfc7eSAndroid Build Coastguard Worker2. Design Goals 33*49cdfc7eSAndroid Build Coastguard Worker---------------- 34*49cdfc7eSAndroid Build Coastguard WorkerThis project was created with the following design goals: 35*49cdfc7eSAndroid Build Coastguard Worker- Enable assertion based traceability for conformance testing of POSIX 36*49cdfc7eSAndroid Build Coastguard Worker specifications. We wanted to capture enough data to make deterministic 37*49cdfc7eSAndroid Build Coastguard Worker statements about our coverage of the POSIX specification. 38*49cdfc7eSAndroid Build Coastguard Worker 39*49cdfc7eSAndroid Build Coastguard Worker- Give the ability to send test case source to bug reports to appropriate 40*49cdfc7eSAndroid Build Coastguard Worker open source projects when our test cases revealed bugs in those projects. 41*49cdfc7eSAndroid Build Coastguard Worker (Meaning we wanted fairly simple, self-contained test cases which 42*49cdfc7eSAndroid Build Coastguard Worker illuminated a single failure.) 43*49cdfc7eSAndroid Build Coastguard Worker 44*49cdfc7eSAndroid Build Coastguard Worker- Make it easy for test cases to be contributed. 45*49cdfc7eSAndroid Build Coastguard Worker 46*49cdfc7eSAndroid Build Coastguard Worker3. Implementation 47*49cdfc7eSAndroid Build Coastguard Worker------------------ 48*49cdfc7eSAndroid Build Coastguard Worker 49*49cdfc7eSAndroid Build Coastguard WorkerThis project will cover conformance, functional, stress, performance, 50*49cdfc7eSAndroid Build Coastguard Workerand speculative testing. Conformance, functional, and stress tests are 51*49cdfc7eSAndroid Build Coastguard Workerthe only tests formally documented and enabled by our framework, with our 52*49cdfc7eSAndroid Build Coastguard Workerfocus mainly on conformance; however, the other types of testing will be 53*49cdfc7eSAndroid Build Coastguard Workeradded as the need arises. 54*49cdfc7eSAndroid Build Coastguard Worker 55*49cdfc7eSAndroid Build Coastguard WorkerFor more information on these types of testing, under 'Documenation' see: 56*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_ConformanceTest - info on creation and structure of conformance tests 57*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_Functional- - info on creation and structure of functional 58*49cdfc7eSAndroid Build Coastguard Worker StressTest and stress tests 59*49cdfc7eSAndroid Build Coastguard Worker 60*49cdfc7eSAndroid Build Coastguard WorkerFor additional information on how to build and run the tests in this 61*49cdfc7eSAndroid Build Coastguard Workersuite, see Documentation/HOWTO_RunTests. 62*49cdfc7eSAndroid Build Coastguard Worker 63*49cdfc7eSAndroid Build Coastguard Worker 64*49cdfc7eSAndroid Build Coastguard Worker4. Developer Docs & Resources 65*49cdfc7eSAndroid Build Coastguard Worker------------------------------ 66*49cdfc7eSAndroid Build Coastguard Worker 67*49cdfc7eSAndroid Build Coastguard WorkerThe following files give developers information on how to write test 68*49cdfc7eSAndroid Build Coastguard Workercases for the project (under Documentation): 69*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_Assertions - describes format of the assertions files used to 70*49cdfc7eSAndroid Build Coastguard Worker map test case descriptions to test cases 71*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_BoundaryTest - information about testing boundary conditions 72*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_CodingGuidelines- describes coding guidelines for this project 73*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_Coverage - describes format of COVERAGE.<area> files 74*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_DefinitionsTest - ideas behind testing POSIX header files 75*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_ResultCodes - standardized return codes for tests 76*49cdfc7eSAndroid Build Coastguard WorkerHOWTO_Tagging - describes how to tag files for inclusion in a release 77*49cdfc7eSAndroid Build Coastguard Worker 78*49cdfc7eSAndroid Build Coastguard WorkerFor additional information on how to build and run the tests in this 79*49cdfc7eSAndroid Build Coastguard Workersuite, see HOWTO_RunTests. 80*49cdfc7eSAndroid Build Coastguard Worker 81*49cdfc7eSAndroid Build Coastguard Worker5. How to Contribute 82*49cdfc7eSAndroid Build Coastguard Worker--------------------- 83*49cdfc7eSAndroid Build Coastguard Worker 84*49cdfc7eSAndroid Build Coastguard Worker* Patches welcome! 85*49cdfc7eSAndroid Build Coastguard Worker 86*49cdfc7eSAndroid Build Coastguard Worker* When you create a new test, please fill out an assertion description 87*49cdfc7eSAndroid Build Coastguard Worker if none is available. Create a simple C [.c] or shell script [.sh] 88*49cdfc7eSAndroid Build Coastguard Worker snippet that exploits the assertion and returns 0 or !0 89*49cdfc7eSAndroid Build Coastguard Worker [passes/fails]. 90*49cdfc7eSAndroid Build Coastguard Worker 91*49cdfc7eSAndroid Build Coastguard Worker Please name the file after the assertion it tests-dash-the number of 92*49cdfc7eSAndroid Build Coastguard Worker the test [up to you, we can do the naming for you also]. 93*49cdfc7eSAndroid Build Coastguard Worker 94*49cdfc7eSAndroid Build Coastguard Worker The code snippets need to be as simple as possible, for the sake of 95*49cdfc7eSAndroid Build Coastguard Worker all. Please start them with a commentary briefly describing how 96*49cdfc7eSAndroid Build Coastguard Worker you will test the assertion. The idea is that at the end, we can have 97*49cdfc7eSAndroid Build Coastguard Worker automatic tools extracting the data from the XML and source files to 98*49cdfc7eSAndroid Build Coastguard Worker generate reports. 99*49cdfc7eSAndroid Build Coastguard Worker 100*49cdfc7eSAndroid Build Coastguard Worker 101*49cdfc7eSAndroid Build Coastguard Worker6. Who are you? 102*49cdfc7eSAndroid Build Coastguard Worker--------------- 103*49cdfc7eSAndroid Build Coastguard Worker 104*49cdfc7eSAndroid Build Coastguard WorkerWe are the ones currently developing this: 105*49cdfc7eSAndroid Build Coastguard Worker 106*49cdfc7eSAndroid Build Coastguard Workerjulie.n.fleischer REMOVE-THIS AT intel DOT com 107*49cdfc7eSAndroid Build Coastguard Workerrusty.lynch REMOVE-THIS AT intel DOT com 108*49cdfc7eSAndroid Build Coastguard Workergeoffrey.r.gustafson REMOVE-THIS AT intel DOT com 109*49cdfc7eSAndroid Build Coastguard Workerinaky.perez-gonzalez REMOVE-THIS AT intel DOT com 110*49cdfc7eSAndroid Build Coastguard Workerrolla.n.selbak REMOVE-THIS AT intel DOT com 111*49cdfc7eSAndroid Build Coastguard Workermajid.awad REMOVE-THIS AT intel DOT com 112*49cdfc7eSAndroid Build Coastguard Workersalwan.searty REMOVE-THIS AT intel DOT com 113*49cdfc7eSAndroid Build Coastguard Workersunyi REMOVE-THIS AT users DOT sourceforge DOT net 114*49cdfc7eSAndroid Build Coastguard Worker 115*49cdfc7eSAndroid Build Coastguard WorkerSome like to say 'Nih!' from time to time ... 116*49cdfc7eSAndroid Build Coastguard Worker 117*49cdfc7eSAndroid Build Coastguard Worker 118*49cdfc7eSAndroid Build Coastguard Worker7. Disclaimer 119*49cdfc7eSAndroid Build Coastguard Worker-------------- 120*49cdfc7eSAndroid Build Coastguard WorkerThe Open POSIX Test Suite is not affiliated with the IEEE or The Open Group. 121*49cdfc7eSAndroid Build Coastguard Worker 122*49cdfc7eSAndroid Build Coastguard Worker* POSIX (R) is a registered trademark of the IEEE 123