Skip to main content

ETOS Test Runner

https://img.shields.io/badge/Stage-Sandbox-yellow.svg

ETOS (Eiffel Test Orchestration System) Test Runner

Description

The ETOS Test Runner is responsible for executing test suites in ETOS. ETR should, ideally, be executed within a test runner docker container.

Installation

pip install etos_test_runner

Prebuilt local container

Commit the intended changes, then run make docker-build. This builds only HEAD (including in a Git worktree), not staged or uncommitted files. The default image tag is etos-test-runner:local-<12-character-commit>; override it with IMG=etos-test-runner:<unique-non-latest-tag> if needed. make docker-test validates that image locally without an ETOS service or Kubernetes cluster. It requires Docker and Python, but no Python test dependencies.

The Dockerfile inherits the Ubuntu Noble base runner’s Python 3.13 virtual environment, etos user (UID/GID 3705), tools, artifact paths and separate test framework virtual environment. Dependencies are installed at build time using requirements.lock as constraints. Startup runs etos_test_runner.etr directly, forwarding arguments and ignoring runtime DEV / ETR_VERSION installation overrides. The package’s lib/executor.sh still executes tests.

Git archive substitutes .git_archival.txt using .gitattributes so setuptools-scm derives the package version from the committed revision without copying .git. The full commit is also recorded in the image’s org.opencontainers.image.revision label. Use make docker-build rather than docker build .; the latter deliberately fails with unsubstituted metadata. Builds need access to the base image and Python dependency indexes; runner startup does not install the runner package. Test commands may still need their own dependencies and network access.

Load the image with kind load docker-image <image> --name <cluster> and select it in each suite execution’s environment.testRunner. See the ETOS local installation guide for the complete suite workflow.

Telemetry

Set OTEL_EXPORTER_OTLP_ENDPOINT to enable tracing and correlated logging. Like the suite runner, initialization uses OpenTelemetry environment and process resource detectors with the test runner’s service name and installed version.

Suite-level lifecycle spans and bounded phase/outcome metrics are retained; individual test executions do not emit tracing events. Metrics use the OTEL_EXPORTER_OTLP_ENDPOINT endpoint or OTEL_EXPORTER_OTLP_METRICS_ENDPOINT and expose no local scrape endpoint.

Without an endpoint, or with OTEL_SDK_DISABLED=true, tracing, metrics and logs are no-op.

Contribute

Support

If you are having issues, please let us know. There is a mailing list at: etos-maintainers@googlegroups.com or just write an Issue.

Metadata

Release files for etos-test-runner 3.20.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for etos-test-runner 3.20.1
File Size Uploaded Provenance
etos_test_runner-3.20.1.tar.gz 119.5 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for etos-test-runner 3.20.1
File Interpreter ABI Platform
etos_test_runner-3.20.1-py3-none-any.whl Python 3 none any Details

Total release size: 167.9 kB

Release files / etos_test_runner-3.20.1.tar.gz

Download URL etos_test_runner-3.20.1.tar.gz
Size 119.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8094b6ee5fb4d32b84accc2e054e1d1f9b221928434c6fcab753f4041d50a4a5
BLAKE2b-256 checksum
How to use checksums
786d2056cb632a5a084c671e4894391fbe8a64642c3f77f682bd4819b937395c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Release files / etos_test_runner-3.20.1-py3-none-any.whl

Download URL etos_test_runner-3.20.1-py3-none-any.whl
Size 48.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5608d61772e829697fb42a02b4cc523937b4242840a2df087ad05046a82255c
BLAKE2b-256 checksum
How to use checksums
9ed7200cfeaf2f3fd2c6197b16495085f738f9d680d0b9a896955925c3dd7ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

Security for etos-test-runner 3.20.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for etos_test_runner-3.20.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 22, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

3.20.1 This release

2 release files Full provenance

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