-
Notifications
You must be signed in to change notification settings - Fork 2
Install Test Suite
The Test Suite includes a set of services and test cases. The services include:
- configuration service: validates configuration files and supplies their values to the test cases.
- sender and receiver: emulates the FEs that provide stimulus to and receive output from the Device Under Test.
- stub servers: emulates behavior of the other FEs that the Device Under Test may communicate with.
- coordinator: starts and stops the sender, receiver, and other stub servers as needed for each test variation.
- oracle: reviews the test results and declares a verdict (pass/fail/inconclusive).
- logging service: generates log files.
- reporting service: generates and formats reports.
The test cases perform the actions defined in the Test Descriptions to verify that the Device Under Test conforms to the Requirements.
Installation of the test suite is simple:
- Clone the repository to a local directory
- Configure Python (if necessary)
- Install the required Python modules
$ cd <directory>
$ git clone https://github.com/tamu-edu/ng911-dev
$ cd ng911-dev
$ pip install -r requirements.txt
$ sudo python3 -m main run --launch_config <launch_config>
NOTE: If you are running the test suite on an operating system dependent on Python for proper operation (ex Ubuntu) you may receive a warning when running the "pip install" step above akin to "this environment is externally managed" and it will refuse to run. This is a by-product of operating systems becoming critically dependent on Python for normal operations, they prevent you from altering the environment via user-space execution to prevent "breaking" the operating environment. Further explanation can be found by referencing "virtual environments" within the scope of Python's development and operation. It should be as simple as the steps below, however if this is unsuccessful, you will need to debug per Python's guidance for your operating system and/or environment.
python3 -m venv <directory>
Where, for example, might be '~/pyvenv-ng911'. All subsequent calls to Python within the scope of the test suite will be made via this virtual environment's /bin subfolder, reference /lib libraries, etc. Using the prior example value we would execute:
~/pyvenv-ng911/bin/pip3 install -r requirements.txt
sudo ~/pyvenv-ng911/bin/python3 -m main run --launch <launch config>
We recommend always using the most recent version. But if you need to use an older version, you can:
- Visit the Releases page.
- Download and unpack the .zip or .tar.gz file
- Configure Python (if necessary)
- Install the required Python modules
$ cd <directory>\ng911-dev
$ pip install -r requirements.txt
$ sudo python3 -m main run --launch_config <launch_config>
