POSIX Profile 52 Test Suite -- VSPSE52-2003
Positioning
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.
Top
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
plus
-
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
http://www.opengroup.org/bookstore/catalog/tt.htm
or
http://tetworks.opengroup.org
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,
to:
sprintf(cmd, "%s%s %.64s username@%.64s:%.64s", rcpcmd,
and change:
argv[1] = rtsys_id;
to:
argv[1] = malloc(strlen(rtsys_id) + sizeof("username@"));
if (argv[1] == NULL) {
tet3rt_mss_printf("malloc() for \"username@%s\" failed", rtsys_id);
return(TET3RT_ER_SYSERROR);
}
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:
http://tetworks.opengroup.org/Wpapers/TETwareRTWhitePaper.htm.
POSIX is a registered trademark of the IEEE.
Further Information
Top
|