xref: /aosp_15_r20/external/ltp/testcases/open_posix_testsuite/README (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
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