Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ The framework ensures that all language bindings (Go, Python, Rust, etc.) behave
## Architecture

```
┌─────────────┐ ┌──────────────────┐
│ Test Runner │────────▶│ Handler Binary
│ (Go CLI) │ stdin │ (Go/Rust/etc) │
│ │◀────────│ │
└─────────────┘ stdout └──────────────────┘
┌─────────────┐ ┌──────────────────
│ Test Runner │────────▶│ Handler Binary**
│ (Go CLI) │ stdin │ (Go/Rust/etc)
│ │◀────────│
└─────────────┘ stdout └──────────────────
│ │
│ │
▼ ▼
Expand All @@ -35,19 +35,33 @@ The framework ensures that all language bindings (Go, Python, Rust, etc.) behave
3. [**Test Cases**](./testdata): JSON files defining requests and expected responses
4. [**Mock Handler**](./cmd/mock-handler/main.go): Validates the runner by echoing expected responses from test cases

**Handler binaries** are not hosted in this repository. They must be implemented separately following the [**Handler Specification**](./docs/handler-spec.md) and should:
** **Handler binaries** are not hosted in this repository. They must be implemented separately following the [**Handler Specification**](./docs/handler-spec.md) and should:
- Implement the JSON protocol for communication with the test runner
- Call the binding API to execute operations
- Pin to a specific version/tag of this test repository

## Getting Started

Build and test against the mock handler:
### Testing Your Binding (Custom Handler)

Test your handler implementation using the test runner:

```bash
# Build the test runner
make runner

# Run the test runner against your handler binary
./build/runner --handler <path-to-your-handler>
```

### Testing the Runner

Build and test the runner using the mock handler:

```bash
# Build both runner and mock handler
make build

# Run tests against the mock handler
# Run the test runner against the mock handler
make test
```
Loading