README.md
1# Nexus test framework
2
3Nexus is a test framework for OpenThread testing.
4
5### Design Goals
6
7- **Faster and more scalable network simulation**: Enable faster and more efficient simulations of OpenThread networks involving a large number of nodes over extended durations.
8- **Enhanced control**: Achieve greater control and scalability over simulated tests.
9
10### Features
11
12- Includes the Nexus platform implementation that emulates platform behavior, allowing multiple nodes running the OpenThread core stack to be simulated and interact with each other within the same process.
13- Unlike the simulation platform (under `examples/platforms/simulation`), where nodes run in separate processes and interact via POSIX sockets, Nexus nodes are simulated within a single process.
14- Nexus tests can interact directly with the C++ or C OT core APIs, providing more control than the simulation platform's CLI-based interactions.
15- The flow of time in Nexus tests is directly controlled by the test itself, allowing for quick time interval advancement.
16
17### How to build and run tests
18
19To build Nexus test cases, the `build.sh` script can be used:
20
21```bash
22./tests/nexus/build.sh
23```
24
25Afterwards, each test can be run directly:
26
27```bash
28./tests/nexus/nexus_form_join
29```
30