Introduction
This package allows you to define tests for arbitrary classes and
objects in configuration and execute them. It's main components are
Test DAL (including test-repository schema) and Test Manager. Test
Manager uses Process Manager to execute actual tests. Test Manager is
not used directly by users, instead DVS framework is used.
Documentation:
Test DAL
Users Guide and Tutorial (postscript)
Changes since tdaq-01-01-00
-
test-repository schema changes
New attributes have been added to the 'Test'
base class:
scope: enum = {any, absent, idle, run}
This attribute defines the context in
which the test can be executed. If set to any, (the deafult value) the test
will be executed always independent of the system state.
complexity: u8 = '0'
This attribute defines the level of
complexity for that test. Default value is 0 means no complexity level
defined, so all tests will be executed. The range is {0, 1, 2, 3}.
test_mask: string = '*'
The user can have access to a
particular test or group of tests by setting this attribute to a
desired value and then specifying a global test mask via DVS GUI as a
regular expression. Then only tests which test_mask satisfies this RE
will be selected. By default
the global test mask is '*' meaning that all tests are selected for
execution.
interactive: bool = 'false'
This attribute is used to qualify a
test as a regular test or as
an interactive test (or
so-called action) and the
TestManager will start it in a normal way or will inform dvs core to
start it in a different xterm display. By default the value is set to false, which means all tests are
seen as regular tests.
- new TestDAL template parameters syntax, allowing to reference
parent objects, like #this.&Crate@Modules.Name or
#this.&HW_System@HW_objects.Name. The syntax allows to reference
parent object's attributes or relationships when defining Test4Class
parameters or host. Syntax starts with "&" special symbol, which
notes class name of the parent of this class. Then, "@" sybmol
separates relationship name. All together they give a reference to the
parent object, which can be used for further referencing. For
example for Module class, #this.&Crate@Modules.Name will be
substituted by the name of the Crate this particular module belongs to.
To be implemented
- Possibility to start tests locally via fork() if host for
test is not
specified, i.e. dependency on the local PMG agent will be removed.
Known bugs, problems and limitations
Logs of processes are
seeable only if TDAQ_LOGS_PATH points to a location, shared between
client (DVS) and server (PMG agent where a test is launched). In
future, use of Logs Service is foreseen.