The Open Group : Making Standards Work
About The Open Group The Open Group Forums Certification Collaboration Services
Sponsor an Event Become a Member of The Open Group The Open Group Member Area
Government Programs Events Bookstore & Downloads Newsroom Contact The Open Group
You are here: Home >Testing >Test Suites > VSPSE52-2003
Test Suites

POSIX Profile 52 Test Suite -- VSPSE52-2003


VSPSE52-2003 is a modular test suite for IEEE Std POSIX 1003.13-2003 Profile 52, the Embedded Realtime Controller system profile, and contains strategies conformant to that profile.  The Test Suite is a merged subset of three other Open Group Test Suites; VSX4, VSTH (Threads) and VSRT (Realtime).

It consists of three test suites, which have been adapted for embedded testing. These are:-

  • VSX4-PSE -Embedded core POSIX system interfaces tests
  • VSTH-PSE -Embedded threads tests
  • VSRT-PSE -Embedded realtime tests

As well as being available as the VSPSE52 test suite, these are also available separately.


Test Components

The PSE52-2003 test suite is a set of test components, most of which includes its own documentation. The component parts which are included in their own directories are as follows:

The three PSE enabled test packages

  • VSX4-PSE4 - core operating system tests
  • VSRT-PSE5.3.5beta - realtime extensions
  • VSTH-PSE5.4.4beta - threads extensions
  • VRTX1.2.7 - a common library used to support VSRT
  • VSXgen3.3 - the generic test framework into which the test packages plug
  • TET3.6-lite - the test environment toolkit test controller
  • TET3rt-1.1 - the embedded/realtime support for the TET.

Frequently Asked Questions and Answers:

Q. Which documents should i read first?

A. Please follow the instructions in the VSX4-PSE/VSTH-PSE or VSRT-PSE User Guides and Release Notes once you have installed TET and TET3-RT.
Some keypoints: TET3rt is designed to be built and installed on top of an existing TET3 source distribution. Since the TET3rt installation process makes some small (but significant) modifications to the TETware distribution, it is necessary to work with a copy of TET3 that will only be used for the purpose of testing realtime systems. Furthermore, it is best to try and work with only a single realtime implementation in conjunction with each copy of TET3 and TET3rt, since you must customise a copy of TET3 for use with a particular realtime system.

See TET3rt-1.1/uguide.pdf (Chapter 3 ) for instructions on building and installing TET3rt

You should also read the TET installation guide It can be downloaded for free from or

Q. Do you know what version of the IEEE 1003.1 Std we are testing with PSE52-2003 ?...Is it 1003.1-2001?

A. Yes, it's 1003.1-2001. More specifically, the PSE52P and PSE52X modes test profile 52 of the POSIX.13-2003 standard. (PSE52P mode tests the non-XSI units of functionality and PSE52X mode tests the XSI units of functionality.)

Q. Is coverage complete?

A.No, in this phase its limited to the test packages above. Where tests are not present for some interfaces some existence tests have been added for this release. We hope to be able to extend the tests in the future if additional funding to support an extension is available.

Q. What does VSX4-PSE test?

A. It tests the core (non-realtime and non-threads) PSE52 interfaces that come from POSIX.1-2001 and the C standard.

Q. Have the tests been executed on a Linux target?

A. The tests have been run successfully using two Linux systems as host and target. Using one system for both functions shouldn't be a problem, but we would recommend that you arrange for a different account name to be used when tests are loaded and executed on the system as the target. Otherwise the tests will run in the vsx0 home directory (where the host build is done) and there is a possibility of some sort of interference occurring.

Q. Should I follow the TETwareRT instructions?

A. Yes.

Q. Would I need to implement the tet3rt_msgrt-_open() and close, etc... Or do those functions already exist for testing on Linux?

A. The example sockets code will work as-is, but it would be best if you make two small changes. One is to change the rsh and rcp commands in the msslib_native exec.c to specify a different account name, for the reason we gave above. (If you like you could also change them to use scp and ssh instead.) The commands you use need to be able to access the target account without requiring a password, when run as the vsx0 user.

The other change is to the msslib_rtsys rtexit.c, which calls pause() when configured for PSE52 because profile 52 does not include _exit() or exit(). Leaving this as a pause() would mean you end up with a lot of stuck "finished" test processes, so you should change it to call exit().

Q. How do I make the change to use scp ?

A. That part of the change is as simple as searching for "rcp" (with the quotes) and changing it to "scp", and likewise for "rsh" to "ssh".

Q. How do I make the change to specify a different account name?

The change to add an account name would be fairly simple if you hard-code the remote username. E.g. change:

    sprintf(cmd, "%s%s %.64s %.64s:%.64s", rcpcmd,


    sprintf(cmd, "%s%s %.64s username@%.64s:%.64s", rcpcmd,

and change:

    argv[1] = rtsys_id;


    argv[1] = malloc(strlen(rtsys_id) + sizeof("username@"));
    if (argv[1] == NULL) {
	tet3rt_mss_printf("malloc() for \"username@%s\" failed", rtsys_id);
    sprintf(argv[1], "username@%s", rtsys_id);

If you wanted to put the username in a parameter in tetexec.cfg then it would be a little more complex, using tet_getvar() to obtain the value like the code in exec.c does for TET3RT_MSS_RCP_PATH.

Q. The TET3-RT manual discusses using the TETware embedded GUI. Do I need to use that for VSPSE52?

A. No you only need to follow the TET3-RT instructions for installing TET3-RT. The PSE52 test suites don't use the GUI.

Test Suite Design

A POSIX profile 52 compliant system is one which has a file system but does not support multi processes. Versions of TETware and VSXgen have been produced that are designed to function in the restructured environments of the POSIX 1003.13 profiles. This includes support for cross compilation and downloading test executables to a target host.

The changes to the test framework  enable it to function in all POSIX .13 profiles and provides a platform on which the existing test suites for POSIX developed by The Open Group can be run.

The embedded test capability allows use of the same rigorous industry standard tests in a hosted device as for the multi purpose systems. It allows cross compilation of tests on a host, with uploads of the test cases to the embedded device, and communication between the host and the embedded device. Typically this will take the form of a serial link, although the use of a faster communication link (such as a network connection) is not precluded. A simple message-passing protocol is implemented over the communication channel. Capabilities included are a test case launcher, a test case terminator (for systems where exit() is not supported, and a heartbeat thread.

A white paper is available explaining how the revised TETware harness has been adapted for testing embedded devices is available at:

POSIX is a registered trademark of the IEEE.

Further Information





   |   Legal Notices & Terms of Use   |   Privacy Statement   |   Top of Page   Return to Top of Page