FESA3 Integration Tests @GSI
Available Tests
GSI Specific Integration Tests
Development version:
https://git.acc.gsi.de/FESA3-FWK/framework/src/branch/master/fesa-core-gsi-integration-test
Release versions:
https://git.acc.gsi.de/FESA3-FWK/framework/src/branch/<branchname>/fesa-core-gsi-integration-test
Test Suite |
Purpose |
Project Name |
Type |
Comment |
CompositionTest |
Basic integration test for the composition feature of FESA3 |
Compose1 |
FESA class |
|
|
|
Compose2 |
FESA class |
|
|
|
ComposeDU |
FESA deploy-unit |
|
|
|
Compose-client |
googletest |
|
GSITemplateIntegrationTest |
Basic integration test to evaluate the GSI specific template for FESA3 classes (illustrates GSI standard properties, timer-based status update in RT-action, usage of detailed status, metrics property and CMX metrics, working with GSI conditions, ...) |
GSITemplateIntegratTest |
FESA class |
|
|
|
GSITemplateIntegratTestDU |
FESA deploy-unit |
|
|
|
GSITemplateIntegratTest-client |
googletest |
|
RDADataTypesTest |
Basic integration test to evaluate the usability of common data types in FESA3 (usage of different data types, filters) |
RDADataTypesTest |
FESA class |
|
|
|
RDADataTypesTestDU |
FESA deploy-unit |
|
|
|
RDADataTypesTest-client |
googletest |
|
Subset |
Basic test to evaluate the usage of subsets in FESA3 |
Subsets |
FESA class |
|
|
|
SubsetDU |
FESA deploy-unit |
|
|
|
Subset-test |
googletest |
|
WRTimingTest |
Basic test for WR based timing |
WRTimingTest |
FESA class |
|
|
|
WRTimingTestDU |
FESA deploy-unit |
|
|
|
WRTimingTest-client |
googletest |
run on Test SCU as well |
|
|
|
|
|
How to run them
- in Eclipse: check out the required projects for each test-suite
- Update the FESA versions of classes, deploy-units (and instance documents) to the FESA3 version to test
- migrate the source code of the FESA projects (if necessary)
- compile the FESA class and the deploy-unit
- run the FESA deploy-unit (e.g. in your workspace on the asl cluster)
- compile the googletest project on the command line
make test
or optional
make test GTEST_GSI_HOME=path to local installation GMOCK_GSI_HOME=path to local installation
- on the command line: run the googletest (current variant)
make run-test
or optional
make run-test GTEST_GSI_HOME=path to local installation GMOCK_GSI_HOME=path to local installation
Common Integration Tests - outdated
Development version:
https://www-acc.gsi.de/svn/fesa/framework/trunk/fesa-core-integration-test
Release versions:
https://www-acc.gsi.de/svn/fesa/framework/branches/release/FESA3_x.x.x/fesa-core-integration-test
Name |
|
|
FFTCustomEvtSrc |
|
|
FFTEventMapping |
|
|
FFTEventSources |
|
|
FFTNotification |
|
|
FFTOnSubscriptionSrc |
|
|
testbed-testsuite |
|
|
General
- All the integration tests consist of two main components:
- All the tests work on asl744 as FEC. Additonal FECs may be added the usual way.
- All tests should be compiled + run for 64-bit architectures
- The order for performing the different sub-operations of the test are always the same:
- Validate class, generate code for class, compile class
- Validate deployment unit, generate code for deployment unit, compile + link deployment unit
- Validate instantiation-file
- Run binary via the generated start-script ( you will need the application-argument "-noRTSched" , and for some tests as well "-timsim" )
- Compile the test client: make test
- Run the client: make run-test
The following tests should be run in order to check the functionality of the GSI specific part
- fesa-core-gsi-integration-test
- GSITemplateIntegrationTest
- A single class deploy-unit .. compile everything + run the attached google test client
- CompositionTest
- A two-class deploy-unit .. compile + run the attached google test client
- RDADataTypesTest
- A single class deploy-unit .. compile everything + run the attached google test client
- Subsets
- A single class deploy-unit .. compile everything + run the attached google test client
- WRTimingTest
- A single class deploy-unit .. compile everything + run the attached google test client
A binary version of googletest and googlemock is required. Ideally the google test libraries are created using the same compiler flags as the software to test. A binary installation of the google test libraries is usually located in /common/usr/fesa/tools/google/ .
The following tests should be run in order to check the functionallity of the core-part
The following Tests all rely on a JUnitTest-client.
Check-out and build the Maven-Project fesa-core-integration-test/testbed-testsuite
The JUnitTest-clients are located at: testbed-testsuite/src/test/cern/testbed/functional/fesa
In eclipse you can now start the JUnitTest-clients in the Java-perspective via right-click-->run as-->!JUnitTest
- fesa-core-integration-test
- FFTCustomEvtSrc
- A one-class deployUnit .. compile everything + run the corresponding unit-test
- FFTEventMapping
- A two-class deployUnit .. compile everything + run the corresponding unit-test
- Attention: You as welll need to run FFTOnSubscriptionSrc _DU in order pass the test !
- Attention: You need to pass the argument -timsim, in order to enable the timing-simulation
- FFTEventPayload
- A one-class deployUnit .. compile everything + run the corresponding unit-test
- Attention: You as welll need to run FFTOnSubscriptionSrc _DU in order pass the test !
- Attention: You need to pass the argument -timsim, in order to enable the timing-simulation
- FFTEventSources
- A one-class deployUnit .. compile everything + run the corresponding unit-test
- Attention: You as welll need to run FFTOnSubscriptionSrc _DU in order pass the test !
- Attention: You need to pass the argument -timsim, in order to enable the timing-simulation
- FFTNotification
- A one-class deployUnit .. compile everything + run the corresponding unit-test
- Attention: You as welll need to run FFTOnSubscriptionSrc _DU in order pass the test !