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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file testomatic_runner-0.1.0.tar.gz.
File metadata
- Download URL: testomatic_runner-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5556bf81ab62787870ee545fd63a8d2ef7fd09a4413da10b15d380492a9535fd
|
|
| MD5 |
e40547faafe9688a268b18d657423f88
|
|
| BLAKE2b-256 |
2ece64fd2a286d219444544b2f5d6c5b8a53b6ede912acafeae803bb9a31c371
|
File details
Details for the file testomatic_runner-0.1.0-py3-none-any.whl.
File metadata
- Download URL: testomatic_runner-0.1.0-py3-none-any.whl
- Upload date:
- Size: 15.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ccc76f18218e4eca3153c7a1d30549a9427289a15fcdd5f2e868118ca37fa61e
|
|
| MD5 |
725887e698bba144f458f22d827a7930
|
|
| BLAKE2b-256 |
2750371aa8083ad579367165265b26ed5eb06f9d25a356c9faa15ca9cb4180d1
|