Files
openthread/tests/scripts/thread-cert
Simon Lin 22b043bf62 [otci] add OpenThread Controller Interface library (#5779)
This commit introduces the Proof of Concept implementation of the
OpenThread Controller Interface (OTCI) which can be used to connect
and manage various kinds of OT devices.

This commit also adds the tests to verify that OTCI works for both
simulation and real OT devices.

- Device Connectors
  - CLI Virtual Time Simulation
  - CLI Real Time Simulation
  - CLI SOC Device
  - NCP Virtual Time Simulation (not all APIs work)
  - Real device via SSH
- OTCI tests of simulation devices are executed in Github Actions
- OTCI tests of real devices can be executed like below:

# Install otci python library
cd tests/scripts/thread-cert/otci && python3 setup.py install --user
# Test OT CLI SOC device at /dev/ttyACM0
REAL_DEVICE=1 OT_CLI_SERIAL=/dev/ttyACM0 python3 tests/test_otci.py
# Test OTBR device via SSH
REAL_DEVICE=1 OTBR_SSH=172.16.243.151 python3 tests/test_otci.py
2020-12-30 11:29:27 -08:00
..

OpenThread Certification Tests

Inspector

Inspect nodes status by the following modification:

  1. Insert the inspector to where you want to inspect.
import debug
debug.Inspector(self).inspect()
  1. Run the test and it will stop at the line above and prompt #.
./script/test clean build cert tests/scripts/thread-cert/Cert_5_1_01_RouterAttach.py
  1. Inspect
#
# 1
> state
leader
> exit
# 2
> panid
face
> exit
# exit

CLI reference

# mode

This is selection mode. You may select the node to inspect here.

  • list - list available nodes.
  • exit - end inspecting, continue running test case.
  • <number> - select the node with id <number>. This will result in entering > mode.

> mode

This is node mode. You may run OpenThread CLI here.

  • exit - go back to # mode.