testomatic-runner
The test runner for the Testomatic PCB test jig system: it parses a
Test Suite Package produced by Register and executes its Test Steps in order against real
hardware, via the testomatic-io hardware
abstraction layer.
Overview
Testomatic's test pipeline has four parts, each in its own repo:
- Register — a Test Suite is authored/versioned there, against a PCB
Design. testomatic-ui— the on-device touchscreen UI. Downloads and caches Test Suite Packages from Register so a device isn't dependent on Register being reachable to run a suite it already has.- This repo (
testomatic-runner) — receives a Test Suite Package (a ZIP containingtest-suite-definition.json, documented in test-suite-package.md), parses it withtestomatic.suite.load_suite(), and executes each Test Step in order withtestomatic.runner.TestRunner. testomatic-io— carries out each step's hardware action (drive a power rail, read an IOMOD pin, beep, etc.) through itsChassis/TestModuleAPI.
The physical chassis, PCB, and Test Module hardware this runner drives live in the sibling
Testomatic repo.
Usage
pip install -e ".[dev]" # unit tests, no hardware required
pytest
# On a Raspberry Pi wired to a Testomatic chassis:
pip install -e ".[pi]" # pulls in testomatic-io
python -m testomatic run path/to/suite-hw1-test-suite-v1.zip
run accepts either a Test Suite Package .zip or a bare test-suite-definition.json file.
import testomatic_io (and therefore python -m testomatic run) only works on real Raspberry Pi
hardware — testomatic-io is installed via the pi extra rather than as a core dependency, since
one of its dependencies (gpiod) has a native extension that only builds on Linux. See
TEST_RUNNER_PLAN.md for what's implemented, what's stubbed, and what's
still unverified on real hardware.
Repo layout
testomatic/suite.py— parses/validates a Test Suite Definition (JSON) into dataclasses.testomatic/steps/— one executor module perstep_type, registered insteps/registry.py.testomatic/runner.py—TestRunner.run(suite)executestest_stepsin order, andformat_report()renders the result plus the suite'smanual_checks.testomatic/cli.py/__main__.py—python -m testomatic run <suite.zip|suite.json>.tests/conftest.py— fakeChassis/Power/Beeper/Iomoddoubles standing in for realtestomatic-iohardware.test-suite-package.md— reference documentation for the Test Suite Package (ZIP) layout and thetest-suite-definition.jsonformatsuite.pyparses.aqs-hw41-test-suite-v1.zip— a real sample Test Suite Package, used as a test fixture.TEST_RUNNER_PLAN.md— the staged implementation plan and phase checklist.
Metadata
Release files for testomatic-runner 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| testomatic_runner-0.1.0.tar.gz | 15.4 kB | Without provenance | Details for testomatic_runner-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| testomatic_runner-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for testomatic_runner-0.1.0-py3-none-any.whl |
Total release size: 30.6 kB
Release files / testomatic_runner-0.1.0.tar.gz
| Download URL | testomatic_runner-0.1.0.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5556bf81ab62787870ee545fd63a8d2ef7fd09a4413da10b15d380492a9535fd
|
|
BLAKE2b-256 checksum How to use checksums |
2ece64fd2a286d219444544b2f5d6c5b8a53b6ede912acafeae803bb9a31c371
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / testomatic_runner-0.1.0-py3-none-any.whl
| Download URL | testomatic_runner-0.1.0-py3-none-any.whl |
|---|---|
| Size | 15.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ccc76f18218e4eca3153c7a1d30549a9427289a15fcdd5f2e868118ca37fa61e
|
|
BLAKE2b-256 checksum How to use checksums |
2750371aa8083ad579367165265b26ed5eb06f9d25a356c9faa15ca9cb4180d1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Security for testomatic-runner 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.