-
Notifications
You must be signed in to change notification settings - Fork 16
/
README
133 lines (98 loc) · 5.09 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
SECTIONS:
1. Open POSIX* Test Suite Overview
2. Design Goals
3. Implementation
4. Developer Docs & Resources
5. How to Contribute
6. Who are you?
7. Disclaimer
8. Running Emscripten pthreads tests
1. Open POSIX* Test Suite Overview
-----------------------------------
The POSIX Test Suite is an open source test suite with the goal of
performing conformance, functional, and stress testing of the IEEE
1003.1-2001 System Interfaces specification in a manner that is
agnostic to any given implementation.
While active development and testing is currently happening on Linux,
our choice of portable tools should make this test suite usable on any
POSIX operating system.
All code is distributed under the GNU General Public License v2. A
copy of this license is contained in the COPYING file.
This document gives a brief overview of the test suite, including its
design goals, implementation, and how to contribute. Within these
sections, we describe where to find more detailed information.
2. Design Goals
----------------
This project was created with the following design goals:
- Enable assertion based traceability for conformance testing of POSIX
specifications. We wanted to capture enough data to make deterministic
statements about our coverage of the POSIX specification.
- Give the ability to send test case source to bug reports to appropriate
open source projects when our test cases revealed bugs in those projects.
(Meaning we wanted fairly simple, self-contained test cases which
illuminated a single failure.)
- Make it easy for test cases to be contributed.
3. Implementation
------------------
This project will cover conformance, functional, stress, performance,
and speculative testing. Conformance, functional, and stress tests are
the only tests formally documented and enabled by our framework, with our
focus mainly on conformance; however, the other types of testing will be
added as the need arises.
For more information on these types of testing, under 'Documenation' see:
HOWTO_ConformanceTest - info on creation and structure of conformance tests
HOWTO_Functional- - info on creation and structure of functional
StressTest and stress tests
For additional information on how to build and run the tests in this
suite, see Documentation/HOWTO_RunTests.
4. Developer Docs & Resources
------------------------------
The following files give developers information on how to write test
cases for the project (under Documentation):
HOWTO_Assertions - describes format of the assertions files used to
map test case descriptions to test cases
HOWTO_BoundaryTest - information about testing boundary conditions
HOWTO_CodingGuidelines- describes coding guidelines for this project
HOWTO_Coverage - describes format of COVERAGE.<area> files
HOWTO_DefinitionsTest - ideas behind testing POSIX header files
HOWTO_ResultCodes - standardized return codes for tests
HOWTO_Tagging - describes how to tag files for inclusion in a release
For additional information on how to build and run the tests in this
suite, see HOWTO_RunTests.
5. How to Contribute
---------------------
* Patches welcome!
* When you create a new test, please fill out an assertion description
if none is available. Create a simple C [.c] or shell script [.sh]
snippet that exploits the assertion and returns 0 or !0
[passes/fails].
Please name the file after the assertion it tests-dash-the number of
the test [up to you, we can do the naming for you also].
The code snippets need to be as simple as possible, for the sake of
all. Please start them with a commentary briefly describing how
you will test the assertion. The idea is that at the end, we can have
automatic tools extracting the data from the XML and source files to
generate reports.
6. Who are you?
---------------
We are the ones currently developing this:
julie.n.fleischer REMOVE-THIS AT intel DOT com
rusty.lynch REMOVE-THIS AT intel DOT com
geoffrey.r.gustafson REMOVE-THIS AT intel DOT com
inaky.perez-gonzalez REMOVE-THIS AT intel DOT com
rolla.n.selbak REMOVE-THIS AT intel DOT com
majid.awad REMOVE-THIS AT intel DOT com
salwan.searty REMOVE-THIS AT intel DOT com
sunyi REMOVE-THIS AT users DOT sourceforge DOT net
Some like to say 'Nih!' from time to time ...
7. Disclaimer
--------------
The Open POSIX Test Suite is not affiliated with the IEEE or The Open Group.
* POSIX (R) is a registered trademark of the IEEE
8. Running Emscripten pthreads tests
------------------------------------
This github repository adds Emscripten testing harness for pthreads. To run the Emscripten pthreads tests, perform the following:
1. Set the environment EMSCRIPTEN_BROWSER to point to the executable of the target browser to run the test suite in.
2. Close all existing instanced of Firefox tabs and processes, because the test runner will forcibly terminate browser processes during the run.
3. Navigate to /path/to/posixtestsuite/conformance/interfaces/ as the current directory.
4. Run '/path/to/posixtestsuite/emcc/run_all_tests.py'. This will run all the tests found in the subdirectories of the current working directory.