How to provide mock FESA Software for CSCOAP

FESA software that is developed for production requires more thourough testing. Not only of the FESA software itself, but also the operating software (=applications) that is going to access the FESA software requires the possibility for tests. Therefore it was decided to provide mock FESA software especially for the possibility to test applications in an early stage.

As soon as the interface of the FESA software to the applications is defined (interface = properties and their parameters) mock FESA software should be considered.

To consider

The following steps illustrate the procedure:
  • Select a virtual front-end to run the mock FESA software
  • Create an instantiation for the chosen virtual front-end
  • The device-instance name should be preceeded by the letter 'x'
    • Tip: to easily create a mock instantiation of an existing FEC use the toolbar button (mock.png) and copy the automatically created instantiation to the folder named like the virtual front-end. This way all the device-instances are kept and their names will be preceeded by an 'x'.
    • Note: in the future this might change as soon as development, integration and productive environments are fully established.
  • Important: virtual front-ends are not connected to White Rabbit based timing. For the future it is planned to be able to simulate White Rabbit based timing, until then please:
    • deactivate the usage of timing and multiplexing in the instantiation for the virtual front-end. Example:
<timingDomain value="NONE"/>
<accelerator value="NONE"/>
<acceleratorZone value="NONE"/>
<mainMuxCriterion value="NONE"/>
  • In some cases it is required to adapt the code for mock FESA software. To be able to switch between mock and real code at runtime a possibility is to define a configuration field in the FESA software, e.g. "isMock". Per default this configuration field should be set to 'false'. In the mock instantiation this value should be set to 'true'. In the source code the value can be read using
(*device)->isMock.get(pEvt->getMultiplexingContext());
Topic revision: r1 - 25 Aug 2016, 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