VOLTHA Robot Test Libraries
===========================

Below are links to the documentation generated by ``robot.libdoc`` from the
Robot resources in the voltha-system-tests repository.

| These files can also be generated locally by checking out the repo and running:

- % **make gendocs**

   - `voltha-system-tests (gerrit) <https://gerrit.opencord.org/plugins/gitiles/voltha-system-tests>`_
   - `voltha-system-tests (github) <https://github.com/opencord/voltha-system-tests>`_

Libraries
---------
- `libraries/bbsim.robot <../_static/voltha-system-tests/libraries/bbsim.html>`_
- `libraries/dmi-basics.robot <../_static/voltha-system-tests/libraries/dmi-basics.html>`_
- `libraries/flows.robot <../_static/voltha-system-tests/libraries/flows.html>`_
- `libraries/k8s.robot <../_static/voltha-system-tests/libraries/k8s.html>`_
- `libraries/onos.robot <../_static/voltha-system-tests/libraries/onos.html>`_
- `libraries/onu_utilities.robot <../_static/voltha-system-tests/libraries/onu_utilities.html>`_
- `libraries/pm_utilities.robot <../_static/voltha-system-tests/libraries/pm_utilities.html>`_
- `libraries/power_switch.robot <../_static/voltha-system-tests/libraries/power_switch.html>`_
- `libraries/utils.robot <../_static/voltha-system-tests/libraries/utils.html>`_
- `libraries/voltctl.robot <../_static/voltha-system-tests/libraries/voltctl.html>`_
- `libraries/voltha.robot <../_static/voltha-system-tests/libraries/voltha.html>`_


Test Files
----------
- `tests/bbsim/Voltha_BBSimTests.robot <../_static/voltha-system-tests/tests/bbsim/Voltha_BBSimTests.html>`_
- `tests/dmi-interface/dmi-hw-management.robot <../_static/voltha-system-tests/tests/dmi-interface/dmi-hw-management.html>`_
- `tests/dt-workflow/Voltha_DT_FTTB_Tests.robot <../_static/voltha-system-tests/tests/dt-workflow/Voltha_DT_FTTB_Tests.html>`_
- `tests/dt-workflow/Voltha_DT_FailureScenarios.robot <../_static/voltha-system-tests/tests/dt-workflow/Voltha_DT_FailureScenarios.html>`_
- `tests/dt-workflow/Voltha_DT_MultiOLT_Tests.robot <../_static/voltha-system-tests/tests/dt-workflow/Voltha_DT_MultiOLT_Tests.html>`_
- `tests/dt-workflow/Voltha_DT_PODTests.robot <../_static/voltha-system-tests/tests/dt-workflow/Voltha_DT_PODTests.html>`_
- `tests/functional/K8S_SystemTest.robot <../_static/voltha-system-tests/tests/functional/K8S_SystemTest.html>`_
- `tests/functional/Redfish_Importer.robot <../_static/voltha-system-tests/tests/functional/Redfish_Importer.html>`_
- `tests/functional/Voltha_AlarmTests.robot <../_static/voltha-system-tests/tests/functional/Voltha_AlarmTests.html>`_
- `tests/functional/Voltha_ErrorScenarios.robot <../_static/voltha-system-tests/tests/functional/Voltha_ErrorScenarios.html>`_
- `tests/functional/Voltha_FailureScenarios.robot <../_static/voltha-system-tests/tests/functional/Voltha_FailureScenarios.html>`_
- `tests/functional/Voltha_MultiOLT_Tests.robot <../_static/voltha-system-tests/tests/functional/Voltha_MultiOLT_Tests.html>`_
- `tests/functional/Voltha_ONOSHATests.robot <../_static/voltha-system-tests/tests/functional/Voltha_ONOSHATests.html>`_
- `tests/functional/Voltha_PODTests.robot <../_static/voltha-system-tests/tests/functional/Voltha_PODTests.html>`_
- `tests/functional/Voltha_ScaleFunctionalTests.robot <../_static/voltha-system-tests/tests/functional/Voltha_ScaleFunctionalTests.html>`_
- `tests/functional/Voltha_StartContainerPODTests.robot <../_static/voltha-system-tests/tests/functional/Voltha_StartContainerPODTests.html>`_
- `tests/memory-leak/VOLTHA_Memory_Leak_Tests.robot <../_static/voltha-system-tests/tests/memory-leak/VOLTHA_Memory_Leak_Tests.html>`_
- `tests/openonu-go-adapter/Voltha_ONUFlowChecks.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUFlowChecks.html>`_
- `tests/openonu-go-adapter/Voltha_ONUMibAudit.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUMibAudit.html>`_
- `tests/openonu-go-adapter/Voltha_ONUNegativeStateTests.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUNegativeStateTests.html>`_
- `tests/openonu-go-adapter/Voltha_ONUOmciGetTest.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUOmciGetTest.html>`_
- `tests/openonu-go-adapter/Voltha_ONUReconcileTests.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUReconcileTests.html>`_
- `tests/openonu-go-adapter/Voltha_ONUStateTests.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUStateTests.html>`_
- `tests/openonu-go-adapter/Voltha_ONUTemplateTests.robot <../_static/voltha-system-tests/tests/openonu-go-adapter/Voltha_ONUTemplateTests.html>`_
- `tests/pm-data/Voltha_ONUPMTests.robot <../_static/voltha-system-tests/tests/pm-data/Voltha_ONUPMTests.html>`_
- `tests/scale/Voltha_Scale_Tests.robot <../_static/voltha-system-tests/tests/scale/Voltha_Scale_Tests.html>`_
- `tests/software-upgrades/ONOS_AppsUpgrade.robot <../_static/voltha-system-tests/tests/software-upgrades/ONOS_AppsUpgrade.html>`_
- `tests/software-upgrades/ONU_Upgrade.robot <../_static/voltha-system-tests/tests/software-upgrades/ONU_Upgrade.html>`_
- `tests/software-upgrades/Voltha_ComponentsUpgrade.robot <../_static/voltha-system-tests/tests/software-upgrades/Voltha_ComponentsUpgrade.html>`_
- `tests/tim-workflow/Voltha_TIM_PODTests.robot <../_static/voltha-system-tests/tests/tim-workflow/Voltha_TIM_PODTests.html>`_
- `tests/tt-workflow/Voltha_TT_FailureScenarios.robot <../_static/voltha-system-tests/tests/tt-workflow/Voltha_TT_FailureScenarios.html>`_
- `tests/tt-workflow/Voltha_TT_MultiTcontTests.robot <../_static/voltha-system-tests/tests/tt-workflow/Voltha_TT_MultiTcontTests.html>`_
- `tests/tt-workflow/Voltha_TT_MulticastTests.robot <../_static/voltha-system-tests/tests/tt-workflow/Voltha_TT_MulticastTests.html>`_
- `tests/tt-workflow/Voltha_TT_PODTests.robot <../_static/voltha-system-tests/tests/tt-workflow/Voltha_TT_PODTests.html>`_


Package "cord-robot" Documentation
----------------------------------

Below are links to the documentation generated by ``robot.libdoc`` for the
Robot resources in the `cord-robot <https://pypi.org/project/cord-robot/>`_
Python package.

| These files can also be generated locally by checking out the `cord-tester <https://github.com/opencord/cord-tester>`_ repo and running **make gendocs**.

Libraries
---------
- `ATTWorkflowDriver.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/ATTWorkFlowDriver.html>`_
- `DHCP.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/DHCP.html>`_
- `Kubernetes.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/Kubernetes.html>`_
- `Network.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/Network.html>`_
- `OLT.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/OLT.html>`_
- `ONOS.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/ONOS.html>`_
- `ONU.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/ONU.html>`_
- `Subscriber.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/Subscriber.html>`_
- `utils.resource <../_static/cord-tester/cord-robot/CORDRobot/rf-resources/utils.html>`_
- `CORDDictUtils.py <../_static/cord-tester/cord-robot/CORDRobot/CORDDictUtils.html>`_
- `testCaseUtils.py <../_static/cord-tester/cord-robot/CORDRobot/testCaseUtils.html>`_

See Also
--------

- `cord-robot <https://pypi.org/project/cord-robot/>`_
- `cord-tester <https://github.com/opencord/cord-tester>`_
