Skip to main content

Unified test runner for the Aware platform with OSS-ready packaging.

Project description

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 project ships with an OSS manifest that exercises the open-source surface. Internal manifests live alongside the package and can be layered on top when the monorepo is present.

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

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 configs/manifests/internal/stable.json
Directory search path AWARE_TEST_RUNNER_MANIFEST_DIRS=/tmp/manifests:$PWD/configs
Explicit identifier (env) AWARE_TEST_RUNNER_MANIFEST=runtime
Override file (env) AWARE_TEST_RUNNER_MANIFEST_FILE=/tmp/runtime.json

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/tools/test-runner/configs/manifests
    aware-tests --manifest oss --stable --no-warnings

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

aware_test_runner-0.1.4-py3-none-any.whl (26.5 kB view details)

Uploaded Python 3

File details

Details for the file aware_test_runner-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for aware_test_runner-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ace0ce2d69e85a49c26d6b8f71cbc55a336949797e553425ffd76b70f73f8a21
MD5 ee2c84c2641b6924f9ae9fe1e5070b95
BLAKE2b-256 256a4a31105f92a2dea3eb0f9426a5f0d63a60223c05bc9a29cf29ff0100ed9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aware_test_runner-0.1.4-py3-none-any.whl:

Publisher: publish-aware-test-runner.yml on aware-network/aware

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page