Test Suite for ETET, See ETET Test Plan Version 0.5 (tet_root/doc/testplan) Prior to running this you will have to make sure that TETware has been installed with the compat option, i.e. cd $TET_ROOT/src make compat To run this; sh runtest This test suite utilizes the tet_root/contrib/api and tet_root/contrib/napi test suites. The default location for perl is assumed to be /bin/perl. If you perl is not located there, or is not symlinked, the run review the script fixperl and run it sh fixperl (the default for fixperl is to change the path to /usr/local/gnu/perl from /bin/perl) To run this suite, ensure the following (note a script runtest is also provided to do this for you) TET_ROOT and TET_TMP_DIR are set correctly and exported TET_ROOT=/home/etet TET_TMP_DIR=/tmp TET_EXTENDED=true export TET_ROOT TET_TMP_DIR TET_EXTENDED PATH includes $TET_ROOT/bin and the current directory, so tcc and the api suite buildtools can be found. PATH=$PATH:$TET_ROOT/bin:. export PATH Then type tcc -e -p contrib/suite KNOWN PROBLEMS: This test suite is still under revision and some changes for increased portability are expected to be made. There have been a couple of problems observed: (i) One observed problem occurs with the type of shell used for the test contrib/api/src/stest1. If /bin/sh is used then on many implementations the ETET (e*) API tests will fail due to corrupted writes to journal files. The problem is as follows: Common implementations of "sh" are not POSIX compliant in append mode writes. Hence if ">>" is used in a shell script to write to a file, the "sh" utility will open the file in WRITE mode and seek to EOF before it writes any output, whcih can create timing windows that allow journal file corruption. The Korn shell does not have this problem since it opens the file in O_APPEND mode, which does an internal seek to EOF before each write allowing no other system activity between the seek and the write. If you want to test the ksh API, see the release notes for how to replace the XPG3 Shell API with the Korn Shell API.