1
2SECTIONS:
31. Overview
42. Framework Functionality
53. Building and Running the Tests
6
7
81. Overview
9------------
10This document describes how to run the tests in the POSIX Test Suite.
11
12Our framework currently has the ability to build and run conformance,
13functional, and stress tests.  Only conformance and functional tests are
14built when a user tries to "make all" as stress tests leave the system
15in an indeterminate state and should generally be run manually.
16
172. Framework Functionality
18----------------------------------------------------
19
20  * Conformance Tests
21The build and execution process varies per conformance tests.
22
23For definitions tests, the build and execution process is the same since
24the "test" is that the file compiles.  A definitions test will be compiled,
25not linked, by the compiler.
26
27For all other tests, they will have one test for the compile, one for the
28link, and one for the execution of the test.  Successfull tests return
29PTS_PASS, which the compiler interprets as success.  All other return
30values are failures.  [For more info, see HOWTO_ResultCodes.]
31
32  * Functional/Stress Tests
33Functional and stress tests have their own Makefile and method for running,
34and the framework merely calls these mechanisms.  To build functional and
35stress tests, the framework calls the main Makefile for each functional
36area.  To run these tests, the framework calls the run.sh file for each
37functional area.
38
393. Building and Running the Tests
40----------------------------------
41
42**See the BUILD file for info on how to set up the build for the specific
43area you are testing (threads, mqs, semaphores, etc.)
44
45To build and run the tests, you should be in the main posixtestsuite/
46directory.  
47
48From there, execute:
49# make
50
51This will build and run all conformance and functional tests [See above
52for why stress tests are not built.].
53
54If you'd like to build and run conformance tests for a specific area (threads,
55timers, semaphores, message queues, signals), use the script run_tests and
56run:
57# ./run_tests [SIG|SEM|THR|TMR|MSG]
58 the argument is the 3 letter POSIX abbreviation for area
59
60  * Conformance-specific items
61To run conformance tests for a specific directory, first export the
62POSIX_TARGET variable to the directory desired.
63Ex.
64# export POSIX_TARGET=conformance/definitions/time_h
65
66  * Linking in a library
67To link in a library or add any other flags at build or link time,
68modify file LDFLAGS with the -L... -l... or -D... lines you would like
69added.
70
71To just build conformance tests, run:
72# make build-tests
73
74To just run conformance tests, run:
75# make run-tests
76
77  * Functional/Stress-specific items
78To run only functional tests, run:
79# make functional-tests
80
81To run only stress tests, run:
82# make stress-tests
83
84To make only functional tests, run:
85# make functional-make
86
87To make only stress tests, run:
88# make stress-make
89
90To only run functional tests, run:
91# make functional-run
92
93To only run stress tests, run:
94# make stress-run
95
96Contributors:	rusty.lynch REMOVE-THIS AT intel DOT com
97		julie.n.fleischer REMOVE-THIS AT intel DOT com
98		rolla.n.selbak REMOVE-THIS AT intel DOT com
99