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