Running the tests
=================

.. todo::

  Add basic summary of tests - what is tested (e.g. includes packet loss); mention dummy hardware; all orchastrated by ``uhal_test_suite.py`` script.

.. todo::

  Should have instructions **both** for testing from checked-out code, and testing from installed RPMs


How to test the Software without installing the RPMs?
-----------------------------------------------------

uHAL/``ControlHub`` testing instructions:

1. Setup environment

  .. code-block:: sh

    source uhal/tests/setup.sh

2. Run the tests - these are all contained within the ``uhal_test_suite.py`` script (under ``uhal/tests``), and are divided into sections (e.g. ``TEST IPBUS 1.3 UDP``  ;  ``TEST IPBUS 2.0 CONTROLHUB``  ;  ``TEST uHAL GUI``), which can each be run individually. 

  .. code-block:: sh

    cd uhal/tests
    # To run all IPbus 1.3 tests
    ./scripts/uhal_test_suite.py -c etc/uhal/tests/dummy_connections.xml -s 1.3
    # To run all IPbus 2.0 tests
    ./scripts/uhal_test_suite.py -c etc/uhal/tests/dummy_connections.xml -s 2.0

  **N.B:** To retrieve the full list of available sections, and find out the command-line options, just do ``uhal_test_suite.py -h``.