Skip to main content

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:

  1. Register — a Test Suite is authored/versioned there, against a PCB Design.
  2. 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.
  3. This repo (testomatic-runner) — receives a Test Suite Package (a ZIP containing test-suite-definition.json, documented in test-suite-package.md), parses it with testomatic.suite.load_suite(), and executes each Test Step in order with testomatic.runner.TestRunner.
  4. testomatic-io — carries out each step's hardware action (drive a power rail, read an IOMOD pin, beep, etc.) through its Chassis/ TestModule API.

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 per step_type, registered in steps/registry.py.
  • testomatic/runner.pyTestRunner.run(suite) executes test_steps in order, and format_report() renders the result plus the suite's manual_checks.
  • testomatic/cli.py / __main__.pypython -m testomatic run <suite.zip|suite.json>.
  • tests/conftest.py — fake Chassis/Power/Beeper/Iomod doubles standing in for real testomatic-io hardware.
  • test-suite-package.md — reference documentation for the Test Suite Package (ZIP) layout and the test-suite-definition.json format suite.py parses.
  • 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

testomatic_runner-0.1.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

testomatic_runner-0.1.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

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

Hashes for testomatic_runner-0.1.0.tar.gz
Algorithm Hash digest
SHA256 5556bf81ab62787870ee545fd63a8d2ef7fd09a4413da10b15d380492a9535fd
MD5 e40547faafe9688a268b18d657423f88
BLAKE2b-256 2ece64fd2a286d219444544b2f5d6c5b8a53b6ede912acafeae803bb9a31c371

See more details on using hashes here.

File details

Details for the file testomatic_runner-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for testomatic_runner-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccc76f18218e4eca3153c7a1d30549a9427289a15fcdd5f2e868118ca37fa61e
MD5 725887e698bba144f458f22d827a7930
BLAKE2b-256 2750371aa8083ad579367165265b26ed5eb06f9d25a356c9faa15ca9cb4180d1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page