POSIX Realtime Test Suite (for former 1003.1b, now the Realtime option in 1003.1-200x)
The industry standard test suite with test coverage for the IEEE
POSIX® Realtime extension.
Verifies the POSIX 1003.1b-1993/1003.1i-1995 Realtime extension and
the UNIX 98 _XOPEN_REALTIME Feature Group.
In the Westwood version additionally verifies the POSIX 1003.1, 2003 Edition
the UNIX 03 _XOPEN_REALTIME Feature Group.
Built upon the proven VSXgen harness, yielding
a configurable and productive tool.
Using the VSXgen architecture, this suite is provided as a VSXgen
testset.
Coverage for functions and header file tests.
Test modes for UNIX 98 and POSIX Realtime
In the Westwood version Test modes for UNIX 03 and POSIX.1, 2003 edition
Assertions following the IEEE Std 1003.3 have been developed for
all tests, greatly aiding failure analysis.
Optional for testing the Single UNIX® Specification Version 2 and 3.
-
The VSRT-PSE derivative provides an embedded test capability
-
Developed, owned and supported by The Open Group.
If your organization is developing an implementation conforming to the
IEEE POSIX Realtime standards then this test suite gives significant test
coverage and is recommended for in-house quality-assurance as well as
part of your branding campaign.
Keywords: POSIX® Realtime, 1003.1b, UNIX® 98, UNI® 03, POSIX 1003.1,2003 Edition
Realtime, Testing, POSIX, X/Open.
Top
The Open Group's Realtime Test Suite, known as VSRT, is a stand alone test suite
covering POSIX 1003.1b and its associated Technical Corrigenda.
The most recent update also includes test modes for the UNIX 03
and IEEE Std 1003.1, 2003 Edition
VSRT uses the robust VSXgen test harness, which in turn uses the industry
standard Test Environment Toolkit (TET3) . The benefits of using VSXgen,
which is derived from VSX4, is that the harness is familiar to existing
users of The Open Group's Test suites, it has proven portability and robustness
characteristics and it allows the VSRT tests to be integrated with other
testsets that run under VSXgen, making the test suites easily useable
for in-house quality assurance and automated regresssion testing.
TET3 is the latest version of the Test Environment Toolkit and supports
multi-threaded testing. More information on the Test Environment Toolkit
is described on the TETworks web
site.
Top
The test suite covers the following functional areas in the IEEE POSIX
1003.1b standard/ IEEE Std 1003.1, 2003 Edition/ UNIX 98/ UNIX 03.
- Realtime Signals
Tested by generating series of realtime signals to verify queueing,
reliability, prioritization, and differentiation between mutiple occurrences.
- Synchronized input and output
Tested by generating I/O and verifying it is appropriately synchronized
on request. As synchronization can occur independent of this API,
this testing will be less than completely comprehensive.
- Asynchronized input and output
Tested by generating series of asynchronous I/O requests and verifying
queueing, logical parallelism, signal generation, event cancellation,
event waiting, etc.
- Semaphores
Tested by generating multiple processes and verifying they can correctly
synchronize operation with semaphores under various conditions.
- Memory locking
Tested by locking and unlocking process memory. As the effects of
locking are difficult to discern, this testing will be less than comprehensive.
- Memory mapped files and shared memory
Tested by creating and manipulating multiple shared memory objects
and mapped files.
- Priority scheduling
Tested using multiple processes to verify SCHED_FIFO and SCHED_RR
scheduling algorithms operate as specified. SCHED_OTHER will also
be verified if identical to SCHED_FIFO or SCHED_RR. The timing and
ordering of process scheduling will be verified for the defined algorithms
and parameters.
- High resolution clocks and timers
Tested by creating and manipulating various timers to verify granularity,
accuracy, signal generation, etc.
- IPC Message passing
Tested by generating multiple processes and verifying they can correctly
communicate messages under various conditions.
The POSIX Realtime functions tested are:
aio_cancel() aio_error() aio_fsync() aio_read()
aio_return() aio_suspend() aio_write()
clock_getres() clock_gettime() clock_settime()
fdatasync()
lio_listio()
fchmod()
mlock() mlockall()
mmap() munmap() mprotect()
mq_close() mq_getattr() mq_notify() mq_open()
mq_receive() mq_send() mq_setattr() mq_unlink()
ftruncate()
msync() fsync()
munlock() munlockall()
nanosleep()
sched_get_priority_max() sched_get_priority_min() sched_getparam()
sched_getscheduler() sched_rr_get_interval() sched_setparam()
sched_setscheduler() sched_yield()
sem_close() sem_destroy() sem_getvalue() sem_init()
sem_open() sem_post() sem_trywait() sem_unlink() sem_wait()
shm_open() shm_unlink()
sigqueue() sigtimedwait() sigwaitinfo()
timer_create() timer_delete() timer_getoverrun() timer_gettime()
timer_settime()
The headers to be tested are:
<aio.h> <mqueue.h> <sched.h> <sys/mman.h>
Top
VSRT is modular, both at the implementation level and at the user level.
The testing process is divided into clear stages -
Each stage is clearly documented in the User and Installation Guide, which
accompanies the product.
This stage includes setting up user-ids and groups for testing, and
reading the tape. This stage includes configuring and installing the TET
harness, which is used to control building, execution and cleanup of VSRT
tests.
VSRT automatically installs on most common platforms. Where system dependencies
may vary, these are isolated into clearly defined user changeable sections
of the test suite. During this stage VSRT builds the test harness and
associated libraries.
VSRT separates the building of the test harness and tools from the testsets
themselves. The test suite may be built completely or in sub-sections, which
decrease in granularity from test sections and areas down to individual
testsets.
Once built, the test suite may be run as a whole in one pass, or in sub-sections
which decrease in granularity from test areas down to individual tests within
testsets. If you are producing a branding application the test suite
must run in a single uninterrupted pass.
VSRT generates an intermediate level journal file in a TET compliant
format. This is sufficient for debugging purposes. When a formal report
is required, such as for The Open Brand then the formal report writers
provided with VSRT are used to process the journal file.
Top
POSIX is a registered trademark of the IEEE
Top
|