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

Below are links to the documentation generated by ``robot.libdoc`` from the
Robot resources in the `voltha-system-tests
<https://github.com/opencord/voltha-system-tests>`_ repository.  These files
can also be generated locally by checking out the repo and running **make
gendocs**.

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>`_
