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_FailureScenarios.robot <../_static/voltha-system-tests/tests/dt-workflow/Voltha_DT_FailureScenarios.html>`_
- `tests/dt-workflow/Voltha_DT_MultiOLT_Tests.robot.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/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>`_
