How VSLDAP works

VSLDAP consists of a set of tests written in Java using an API that
gives access to LDAP operations and data types. The tests are compiled
and executed in batches by the TETware test control system.

The system is extensible : more tests can be added to test any feature
that is supported by the test programmer's API. TETware is highly configurable
and permits programmed test scenarios to be designed and run automatically.

To get the best from VSLDAP you should have a working knowledge of TETware.
The Users
Guide is the best starting point. A very brief introduction
to the components of VSLDAP (a typical TETware test suite) is given
below.

TETware overview

TETware provides utilities to aid in the compilation and exceution
of test programs. Individual test programs communicate with TETware during
a test session by means of the TETware API - a set of functions that are
called from the test program to pass information between TETware and the
test.

The tests are stored in directories below the vsldap/ts/ directory.
Each test is a source code file (in this case in Java). Every test
has a unique ID of the form w.x.y.z which corresponds to the assertion
upon which the test is based. (See assertions).
Through TETware, all of the tests, and any others that are added can be
compiled and run and the results logged to a journal file.
All journals are written, by default, into the $TET_SUITE_ROOT/results/
directory.

TETware provides a method of grouping tests together in what is known
as a scenario.
For example, all tests pertaining to the mandatory requirements of
a server's treatment of a search request can be grouped into a
scenario called "search" which can be run as a single test session. All
test's exercising the server's support of the extensible match feature
could be grouped into a scenario called, say "extensibleMatch" - this scenario
could include search tests that are also found in the "search" scenario.

Scenarios are defined in one or more "scenario files". and are located in
the $TET_SUITE_ROOT directory (set to the full pathname of the 'vsldap'
installation directory). Other scenario files may be added. The scenario file is essentially
a list of tests but may also contain some simple control syntax and commands
to add further programmability and automation to test runs.

The program that manages the TETware utilities is called tcc.
Each time a test scenario is run, it is done so by invoking tcc
with a number of arguments which specifiy the function to perform and the
scenario on which to perform this function.
The functions that tcc can perform are "build", "execute"
and "clean".

"Build" passes the names of the tests listed in the given scenario
to a specified build-tool (e.g. javac), which is used to
compile executable versions of the test scripts.

"Execute" passes the names of the compiled tests listed in
the given scenario to a specified exec-tool (e.g. java)
which is used to execute the compiled tests in the order specified by the
scenario.

"Clean" passes the names of the compiled tests listed in the
given scenario to a specified clean-tool (e.g. rm) which is used
to remove the executable files (usually carried out after the completion
of a test run for obvious reasons).

When tcc is run, the test session can be configured with
any number of user-defined variables which are accessible to the test program
via the TETware API. By default tcc imports the tetbuild.cfg,
tetexec.cfg
and tetclean.cfg files in the $TET_SUITE_ROOT directory. Other
configuration files can be specified using command-line arguments to
tcc.