1SECTIONS:
21. Overview
32. Framework Functionality
43. Building and Running the Tests
5
61. Overview
7------------
8This document describes how to run the tests in the POSIX Test Suite.
9
10Our framework currently has the ability to build and run conformance,
11functional, and stress tests.  All tests are built with make all, but
12certain care should be used when running the stress test suite as the
13tests may leave the system in an indeterminate state.
14
152. Framework Functionality
16----------------------------------------------------
17
18  * Conformance Tests
19The build and execution process varies for conformance tests.
20
21For definitions tests, the build and execution process is the same since
22the pass/fail criterion is determine by whether or not the test compiles.
23A definitions test will be compiled, not linked, by the toolchain.
24
25For all other tests, they will have one test for the compile, one for the
26link, and one for the execution of the test.  Successful tests return
27PTS_PASS, which the interprets as success.  All other return values are
28considered failures [For more info, see HOWTO_ResultCodes].
29
30  * Functional/Stress Tests
31Functional and stress tests have their own Makefile and method for running,
32and the framework merely calls these mechanisms.  To build functional and
33stress tests, the framework calls the main Makefile for each functional
34area.  To run these tests, the framework calls the run.sh file for each
35functional area.
36
373. Building and Running the Tests
38----------------------------------
39
40** See the BUILD file for info on how to set up the build for the specific
41area you are testing (threads, mqs, semaphores, etc.), as well as setup the
42build specific to your environment.
43
44To build and run the tests, you should be in the main posix test suite
45directory.
46
47From there, execute:
48    # make all
49
50This will build all of the conformance, functional, and stress tests.
51
52To disable known failures on Linux do make filter-known-fails.
53
54* Conformance-specific items *
55
56To run conformance tests for a specific directory, just cd to the directory
57and run make all test.
58
59Example:
60    # cd conformance/definitions/time_h ; make all test
61
62To just build conformance tests, run:
63    # make conformance-all
64
65To just run conformance tests, run:
66    # make conformance-test
67
68* Functional/Stress-specific items *
69
70To run only functional tests, run:
71    # make functional-test
72
73To run only stress tests, run:
74    # make stress-test
75
76To make only functional tests, run:
77    # make functional-all
78
79To make only stress tests, run:
80    # make stress-all
81
82To skip known failures on Linux, run:
83    # make filter-known-fails
84    # make test
85
864. Running POSIX Option Group Feature Tests
87-----------------------------------------------------
88
89There are several POSIX option groups available that can be tested with this
90test suite. The available groups are:
91
92	AIO	| Asynchonous I/O
93	MEM	| Memory
94	MSG	| IPC
95	SEM	| Semaphores
96	SIG	| Signals
97	THR	| Threading
98	TMR	| Timers
99	TPS	| Thread Execution Scheduling
100
101You can run the tests by executing:
102
103	bin/run-posix-option-group-test.sh [OPTION-GROUP]
104
105or run all of the tests by executing:
106
107	bin/run-all-posix-option-group-tests.sh
108
109More details about these features can be found on the OpenGroup site
110(http://www.opengroup.org).
111
112Contributors:	rusty.lynch REMOVE-THIS AT intel DOT com
113		julie.n.fleischer REMOVE-THIS AT intel DOT com
114		rolla.n.selbak REMOVE-THIS AT intel DOT com
115		yaneurabeya REMOVE-THIS AT gmail DOT com
116