mirror of
https://github.com/meshcore-dev/meshcore_py.git
synced 2026-04-20 22:13:49 +00:00
Seven new tests in tests/unit/test_connection_manager.py covering all four G3 findings: - test_g3_tcp_connect_returns_plain_string (F01): CONNECTED event payload contains a plain string, not an asyncio.Future. - test_g3_reconnect_loop_does_not_compound (F03): after max_attempts failures, exactly that many connect() calls are made — no fan-out. - test_g3_disconnect_cancels_reconnect_loop (F03): disconnect() mid-loop cancels the single task cleanly. - test_g3_reconnect_callback_called_after_reconnect (F02): callback is invoked after a successful reconnect. - test_g3_reconnect_callback_failure_does_not_crash_loop (F02): callback exception is logged, reconnect still succeeds. - test_g3_connect_none_is_soft_failure (N11): connect() returning None does not set _is_connected or emit CONNECTED. - test_g3_no_reconnect_callback_is_noop (N11/F02): no callback provided — reconnect works, backwards-compatible. Refs: Forensics report findings F01, F02, F03, N11 |
||
|---|---|---|
| .. | ||
| unit | ||
| README.md | ||
| test_ble_connection.py | ||
| test_ble_pin_pairing.py | ||
| test_meshcore_ble_pin.py | ||
MeshCore Tests
Running Tests
To run the tests, first install the development dependencies:
pip install -e ".[dev]"
Then run the tests using pytest:
# Run all tests
pytest
# Run tests with verbose output
pytest -v
# Run a specific test file
pytest tests/unit/test_commands.py
# Run a specific test
pytest tests/unit/test_commands.py::test_send_msg