Changes since tdaq-01-08-04

Test Repository schema changes
New abstract class TestableObject was introduced in the core schema. All testable classes should be inherited from this class. Currently the following classes are inheriting: HW_Object, SW_Object, BaseApplication.

In the test repository schema, there are related changes in the way instances of classes Test4Class and Test4Object are associated with testable objects:
Test4Object has new relationship 'objects' 1..N to TestableObject class. This is replaced attribute 'object_id' list of scrings.
In Test4Class class, the attribute 'class_name' changed the type from string to the new OKS type which is class type, so now one can select only the classes of the loaded schema as the value for this attibute.

See the changes in schemas here:
https://pcatdwww.cern.ch/cmt/releases/nightly/tmgr/data/schema/TestRepository.ps
Actions for end users

The instances of existing tests must be adopted to the new schema. For Test4Object instances the changes are as following:

- <attr name="object_id" type="string" num="1">
-  "Computer@lxplus066.cern.ch"
- </attr>
+ <rel name="objects" num="1">
+  "Computer" "lxplus066.cern.ch"
+ </rel>
For Test4Class instances, the type of ''class_name" attribute shall be changed from "string" to "class"
- <attr name="class_name" type="string">"Application"</attr>
+ <attr name="class_name" type="class">"Application"</attr>
API changes
New method for testing Applications is added
std::string             TestApplication(        ConfigObject& obj,
const std::string& stdOut,
const env_map* extra_env,
const std::string& app_id, .... )
The difference w.r.t. TestObject is that additional information like extra environmetn and app_is is passed to Test Manager, which is not possible to retrive via generic ConfigObject pointer for templated (i.e. non-DB) objects.

This method is used from rcdal::Application::test() method.
New features
Testing of Templated (Infrastructure) Applications is implemented. The environment which is passes to the test process is extended with the environment of the testable Application. Thus, test can read the environment which is set by dal algorithms for Templated objects in a Segment and get i.e. RDB database name via environment. For example parameter for the test for RDB server is now configured as
-p #partition -a #this.SegmentProcEnvVarName
and then test internally reads the environment (e.g. TDAQ_DB_DATA) to get the name for a particular instance of templated RDB server under test, in the same manner as the rdb_server binary is doing that.

Known bugs, problems and limitations

Changes forseen for next major release

Merjing of test DAL schema with core schema/igui.