Metadata-Version: 2.4
Name: aware-test-runner
Version: 0.1.0
Summary: Unified test runner for the Aware platform with OSS-ready packaging.
Author: Aware OSS Team
License: Placeholder license for the aware-test-runner package.
        
        The final text will align with the top-level Aware project license before the first public release.
License-File: LICENSE
Requires-Python: >=3.10
Requires-Dist: pytest>=8.2
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == 'docs'
Provides-Extra: internal
Provides-Extra: tests
Requires-Dist: pytest>=8.2; extra == 'tests'
Description-Content-Type: text/markdown

# aware-test-runner (OSS draft)

The **aware-test-runner** package delivers the unified test orchestration used across the Aware platform. It bundles the suite discovery logic and configuration entrypoints required to mirror internal CI coverage inside the forthcoming `aware-sdk`.

> ⚠️ This repository layout is under active migration from `tests/aware_tests/`. The CLI surfaces remain stable (`aware-tests` / `aware-test`) while we complete the extraction.

## Installation

```bash
pip install aware-test-runner
```

The project targets Python 3.10+ and assumes `uv` or `pip` will manage virtual environments. Optional dependencies (e.g. Flutter tooling) will be provided through extras once the internal split is finalised.

## Usage

Run the curated stable suites:

```bash
aware-tests --manifest oss --stable
```

List all registered suites:

```bash
aware-tests --list
```

Run the internal (monorepo) stable suites using the manifest directory:

```bash
AWARE_TEST_RUNNER_MANIFEST_DIRS=tools/test-runner/configs/manifests \
  aware-tests --manifest internal --stable --no-warnings
```

Pass additional pytest flags by appending them after `--`:

```bash
aware-tests --suites core -- -k "smoke and not slow" --maxfail=1
```

## Configuration

By default the runner loads the **OSS** manifest bundled with the package. Provide a different manifest by:

- Selecting an identifier: `aware-tests --manifest internal`
- Pointing at a manifest on disk (file or directory with `stable.json` / `runtime.json`):  
  `aware-tests --manifest-file configs/manifests/internal`
- Setting environment variables:  
  `AWARE_TEST_RUNNER_MANIFEST=internal`, `AWARE_TEST_RUNNER_MANIFEST_FILE=/path/to/manifest.json`, or
  `AWARE_TEST_RUNNER_MANIFEST_DIRS=/custom/manifests:/fallback`

Manifest files may inherit from other manifests via an `extends` field, enabling the internal configuration to layer on top of the OSS baseline without duplicating suite definitions.

This extraction reserves space for future extras:

- `aware-test-runner[internal]` — installs dependencies required for the full enterprise suite matrix.
- `aware-test-runner[flutter]` — provides Flutter toolchain hooks for mobile UI smoke tests.

## Documentation & Support

- OSS quickstart: this README.
- Monorepo contributor guide: `docs/internal-runbook.md` (work in progress).
- Release pipeline integration: tracked under `docs/projects/aware-developer-tools/tasks/aware-test-runner-tooling/`.
- Legacy compatibility: importing `aware_tests` will continue to work for the duration of the migration, but emits a deprecation warning directing consumers to `aware_test_runner`.

We will publish the first pre-release once the suite manifests are validated against the new package structure.
