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    


Historic - Outdated Information

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:
    1. Validate class, generate code for class, compile class
    2. Validate deployment unit, generate code for deployment unit, compile + link deployment unit
    3. Validate instantiation-file
    4. Run binary via the generated start-script ( you will need the application-argument "-noRTSched" , and for some tests as well "-timsim" )
    5. Compile the test client: make test
    6. 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 !
Topic revision: r12 - 28 Aug 2019, SolveighMatthies
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback