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 PurposeSorted ascending Project Name Type Comment
    Compose2 FESA class  
    ComposeDU FESA deploy-unit  
    Compose-client googletest  
    GSITemplateIntegratTestDU FESA deploy-unit  
    GSITemplateIntegratTest-client googletest  
    RDADataTypesTestDU FESA deploy-unit  
    RDADataTypesTest-client googletest  
    SubsetDU FESA deploy-unit  
    Subset-test googletest  
    WRTimingTestDU FESA deploy-unit  
    WRTimingTest-client googletest run on Test SCU as well
         
CompositionTest Basic integration test for the composition feature of FESA3 Compose1 FESA class  
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  
RDADataTypesTest Basic integration test to evaluate the usability of common data types in FESA3 (usage of different data types, filters) RDADataTypesTest FESA class  
WRTimingTest Basic test for WR based timing WRTimingTest FESA class  
Subset Basic test to evaluate the usage of subsets in FESA3 Subsets FESA class  

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