You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Quick developer guide for running tests and understanding CI.
5
+
6
+
Running tests locally
7
+
---------------------
8
+
It's recommended to use a virtual environment for Python work. From the repository root:
9
+
10
+
- Create and activate a venv (macOS/Linux):
11
+
python -m venv .venv
12
+
source .venv/bin/activate
13
+
14
+
- Install test dependencies:
15
+
pip install --upgrade pip
16
+
pip install pytest pyserial cryptography
17
+
18
+
- Run unit tests only (fast):
19
+
cd helper
20
+
pytest -q -m "not integration"
21
+
22
+
- Run integration tests (slower, network-like):
23
+
cd helper
24
+
pytest -q -m integration
25
+
26
+
- Run the full test suite:
27
+
cd helper
28
+
pytest -q
29
+
30
+
Test markers
31
+
------------
32
+
The test suite separates fast unit tests from slower integration tests using a pytest marker named "integration". Unit/test runs exclude integration tests by default in CI; use the -m flag shown above to include or exclude them locally.
33
+
34
+
GitHub Actions CI
35
+
-----------------
36
+
The repository includes a GitHub Actions workflow at .github/workflows/ci.yml that runs a fast "unit" job on PRs and pushes, and an "integration" job (dependent on unit) that runs only on main pushes or when manually triggered. The CI caches pip downloads to speed up repeated runs.
37
+
38
+
If you add new Python test dependencies, update the install steps in the workflow or add a requirements file at the repository root for a more stable cache key.
39
+
40
+
If you want help adding more information to this guide (e.g., contributing style, commit message conventions, or how to run tests on macOS runners), say which section to expand.
0 commit comments