Files
Igor Sirotin b7ba8e52d6 refactor: move test suites under test/
tests-functional/    -> test/functional/
  tests-unit-network/  -> test/unit-network/

No Go code changes beyond the two package paths. Every reference follows:
Makefile targets, the pytest-lint and reliability workflows, the three
Jenkinsfiles, the root Dockerfile, pyrightconfig.json, .gitignore, the
benchmark and functional-test scripts, and the docs.

All paths inside the moved directories are self-contained (docker compose
uses `context: .`, the Python helpers resolve from __file__), so the extra
level of nesting does not reach outside.

refs #7067
2026-08-20 20:59:45 +02:00
..

Reliability Test Suite

This test suite, located under test/functional/tests/reliability, is designed to evaluate the robustness and stability of the system under challenging network and runtime conditions. These tests go beyond typical functional checks and simulate real-world scenarios that stress the system's resilience.

🧪 What We Test

The suite includes tests that simulate:

  • Adverse network conditions:

    • High latency
    • Packet loss
    • Low bandwidth
  • Node lifecycle disruptions:

    • Runtime IP address changes
    • Node pause/unpause behavior
  • Network protocols:

    • IPv4 and IPv6 coverage
  • System rate limiting:

    • Testing throttling mechanisms under stress

🚀 How to Run

Running the reliability tests is nearly identical to running functional tests see how-to-run guide. Example of running a test:

pytest test/functional/tests/reliability/ -k test_one_to_one_message_with_latency

Note! To run locally you need tc (ex: wasn't able to run it on windows or wsl) on your host.

🕒 CI Integration

These tests are executed:

  • Nightly on a schedule
  • On demand, via GitHub Actions

Workflow link: test-reliability.yml

Both IPv4 and IPv6 test runs are included in CI to ensure broad network compatibility.

📊 Reporting

Test results are available in the GitHub Actions summary of each run. For example:

🔗 Example run report

While the reporting is currently minimal, it provides quick insight into which tests passed or failed, and under what conditions.