Information
We are currently investigating an issue with the editor of some pages. Please save your work and avoid to create new pages until this banner is gone.
How do I run a modular test when the value of $ACS_INSTANCE is not known until run-time?
This FAQ section explains in detail how to configure tat modular tests to run dynamically ensuring that managers, containers, and clients all agree on port numbers.
This is a common problem because the acsStart script is "intelligent" enough to pick another port to run ACS under (if 0 has already been taken), but this information is not communicated to containers or clients.
With the release of ACS 3.1, three new scripts have been provided which have been made tat friendly so to speak. In short, you should not cut and paste code from these scripts but instead use them directly. acsutilTATPrologue is a substitute for acsStart and acsutilTATEpilogue is to be used instead of acsStop. acsutilTATTestRunner does not replace any old command, but instead should be prepended to old commands (if this is confusing see the examples below). More detailed descriptions of the new scripts are as follows:
-l
option to force the storage of all logs to $ACS_TMP/all_logs.xml
An example of a TestList.lite utilizing these scripts:
SOURCE acsncTATEnvironment PROLOGUE acsutilTATPrologue MyTestScript EPILOGUE acsutilTATEpilogue
An example implementation of acsncTATEnvironment specified in the TestList.lite above:
set ACS_TMP $env(PWD)/tmp set env(ACS_TMP) $ACS_TMP
An example implementation of MyTestScript specified in the TestList.lite above:
#! /bin/bash acsutilAwaitContainerStart -cpp bilboContainer 2>1 #"2>1" is necessary for C++ containers only acsutilAwaitContainerStart -java frodoContainer acsutilAwaitContainerStart -py aragornContainer acsutilTATTestRunner acsexmplClient acsutilTATTestRunner acsStopContainer bilboContainer