Parts of this document may be unclear, out of date or simply wrong. I encourage you to send me feedback on problems you may find or other suggestions. In many cases looking at the shell scripts themselves will give you the best detailed description, but hopefully the information here will act as a good outline to how things are meant to work at a higher level.
tet_vsxgen_<version>.tar.gz) containing TET and VSXgen and multiple optional tarballs one for each test suite (eg VSX-PCTS, LSB-FHS, VSTHlite).
install.shscript handles the installation of the TET & VSXgen framework and the individual test suites. This script must be run as the
rootuser. A summary of the process is:
test_sets/profile) for the installation directory selected by the user.
setup.shis the starting point for the setup and buidling and running of the installed test suites.
A summary of
setup_testsets.shto perform further setup.
setup_testsets.shis responsible for performing the rest of the setup of the test suite and VSXgen framework and the building of the VSXgen framework, but notably not the building of the test programs.
The setup framework was designed to allow for the configuration of TET/VSXgen based test suites both which have already been written such as VSX-PCTS and LSB-FHS as those which are still being more actively developed and tested such LSB-OS and Users/Groups. The configuration demands are dependent on which specific test suites have been installed on the current system. Prior to this system, specific scripts for each test suite had to be written which contained a lot of common code, but required separate maintenance. To allow for test suite specific configurations the setup_testsets.sh looks for and calls test set specific scripts and various stages of the setup of the test suites. The points at which this is done are:
config.shscript (VSXgen supplied script).
A summary of the process of the
config.shscript. Installation of Linux specific C routines. Automated 'fixing' of some file produced by the the VSXgen configuration procedure.
run_testsets.shoptionally builds (or rebuilds) the test programs that comprise the test suites. It then exeecutes the test programs. A summary of the test results is displayed and the tests which failed are optionally re-executed in another run.
run_testsets.sh script should not be run directly but
instead the script
rerun_tests should be called which
sets up the environment correctly. This is especially true after a
reboot of the machine as features such as loopback devices often need
to be reconfigured again.
test_setsmodule of the LSB project on Source Forge. The README file in the root directory of the module has a description of the directory layout.
In addition to the test suite code, the test_sets module also contains code for the installation scripts, and the VSXgen harness. The VSXgen harness has been modified from the original source. The directory hierarchy containing the VSXgen source also contains intermingled with it part of the installation script framework.
None of the TET code is checked in to CVS and it is used by the test suites unmodified with the single exception of a configured Makefile. The TET code was obtained from the 3.3f release. There are also a few necessary scripts which are not checked in to CVS (I thought they were, but looking at CVS now they aren't).
What we really should have here is a script which generates the tarball automatically entirely (perhaps with TET being an exception) from CVS. This would ensure we don't accidentally get out of sync and that CVS is always updated properly.
cvs exportcommand is very useful for checking out the latest version for creating the tarballs.