Skip to main content

aware-test-runner

aware-test-runner packages the manifest-driven test orchestration we use across the Aware platform. It exposes a tiny CLI (aware-tests) that mirrors our CI layout so contributors can run the same curated suites locally or inside automation.

The runner no longer bundles a default manifest. Always supply a manifest identifier or file path explicitly. The aware-sdk distribution publishes the OSS manifests under aware_sdk/configs/manifests/oss, and internal overlays live in the monorepo under configs/manifests/internal.

Key capabilities

  • Declarative manifests (stable.json, runtime.json) that describe suites, marks, and pytest flags.
  • CLI helpers to list suites, execute a subset, or hand over execution to pytest.
  • Environment variable overrides so CI can provide a different manifest directory without modifying the command line.
  • Ready-to-extend extras (e.g. internal, flutter) for optional dependencies.

Installation

pip install aware-test-runner

Requires Python 3.10+. The package works with both pip and uv. Extras will land once the internal split for our larger matrix is stabilised.

Quick start

Point the runner at your manifest directory (for the OSS bundle bundled with aware-sdk use aware_sdk/configs/manifests):

export AWARE_TEST_RUNNER_MANIFEST_DIRS=$PWD/aware_sdk/configs/manifests

Run the OSS stable suites:

aware-tests --manifest oss --stable

Discover available suites:

aware-tests --list

Execute a focused set and forward options to pytest:

aware-tests --suites kernel -- -k "smoke and not slow" --maxfail=1

Manifest selection

Manifests can be controlled through identifiers, paths, or environment variables.

Mechanism Example
Named manifest aware-tests --manifest internal
Manifest file aware-tests --manifest-file aware_sdk/configs/manifests/oss/manifest.json
Directory search path AWARE_TEST_RUNNER_MANIFEST_DIRS=$PWD/aware_sdk/configs/manifests:$PWD/configs/manifests
Explicit identifier (env) AWARE_TEST_RUNNER_MANIFEST=runtime
Override file (env) AWARE_TEST_RUNNER_MANIFEST_FILE=/tmp/runtime.json

The internal suite overlays live under configs/manifests/internal/; include that directory in AWARE_TEST_RUNNER_MANIFEST_DIRS when targeting private suites.

Each manifest can inherit from another via an extends field, allowing the internal configuration to re-use the OSS baseline.

CI usage

Add a job that configures the manifest directory and runs the stable matrix:

- name: Run OSS suites
  run: |
    export AWARE_TEST_RUNNER_MANIFEST_DIRS=$GITHUB_WORKSPACE/aware_sdk/configs/manifests
    aware-tests --manifest oss --stable --no-warnings

Internal jobs can point the same variable at `$GITHUB_WORKSPACE/configs/manifests`
to pick up the private overlays.

For larger installations we recommend pinning the manifest alongside the workspace so agents and humans see the exact same suite definitions.

Roadmap

  • Publish optional extras for internal-only dependencies.
  • Ship pre-built manifest bundles targeting different providers (CI, Studio, SDK).
  • Expose a Python API for embedding manifests inside other orchestration layers.

Support

  • OSS quickstart: this README.
  • Release automation: tracked under docs/projects/aware-developer-tools/tasks/aware-test-runner-tooling/.
  • Legacy compatibility: importing aware_tests still works but emits a notice pointing to aware_test_runner.

Bug reports and suggestions are welcome via issues in aware-network/aware.

License

Distributed under the MIT License. See LICENSE for details.

Metadata

Release files for aware-test-runner 0.2.0

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

Built distribution (wheel)

Table of built distributions (wheels) for aware-test-runner 0.2.0
File Interpreter ABI Platform
aware_test_runner-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / aware_test_runner-0.2.0-py3-none-any.whl

Download URL aware_test_runner-0.2.0-py3-none-any.whl
Size 28.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
68ce1f87ed4970b7929e8d4292715e9cc602f71da29bd93f36db8c23da265555
BLAKE2b-256 checksum
How to use checksums
abea29cdbc7e9a7b4a7fbe1784075f9e3873070be869f73ad36ad427a77b6f33
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Nov 5, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.4

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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