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.