The Open POSIX Test Suite
[Posted November 6, 2002 by cook]
A new project known as the
Open Posix Test Suite has been put together by
four Intel employees, Geoff Gustafson, Julie Fleischer,
Rusty Lynch, and Inaky Perez-Gonzalez.
The Announcement
states:
"The project's current approach to conformance testing is to record
assertions
from a close reading of the POSIX specifications, and write minimal test
cases
that prove or disprove these assertions. The test suite will be independent
of
specific API implementations, and will eventually be easily configurable to
work with different implementations. The project aims for OS independence,
using only POSIX APIs, the autoconf suite, and simple shell support."
The Open Posix Test suite is licensed under the GPL and work is
primarily being done on the Linux platform, although support for
other Posix compliant platforms should be possible.
"The Open POSIX Test Suite is an open source test suite with the goal of performing conformance, functional, and stress testing of the functions described in the IEEE Std 1003.1-2001 System Interfaces specification. Eventual testing of the full specification is desired." One of the project's goals is to achieve
ANSI C compliance with the Linux kernel coding standards.
Testing has been divided into the
conformance, functional, and stress categories, for these
POSIX function groups:
- Clocks and Timers (TMR)
- Threads (THR)
- Message Queues (MSG)
- Semaphores (SEM)
- Signals
Running a test appears to be fairly easy, the test code just needs to
be compiled and executed, test results come as a pass/fail return
code with optional messages. According to
the documentation:
make tests[-pretty]
This will locate all the tests and run them; currently it only
supports very basic tests [a single .c file that is first compiled
to an .o file and then to a .text executable if it declares
'main']. A test is considered to be successful if it PASSes the
three phases [build, link and execution]. However, if it does not
have a 'main' entry point, then link and execution are omitted [it
is intended just as a 'compile' test].
One of the design goals for the test suite is to make the addition
of additional tests easy to do, outside contributions are being welcomed.
(
Log in to post comments)