mirror of
https://github.com/pydantic/pydantic-ai-harness.git
synced 2026-07-21 02:45:34 +00:00
* feat: add FileSystem and Shell capabilities with exhaustive testing - FileSystemToolset: 8 tools (read, write, edit, list, search, find, mkdir, info) with path-traversal prevention, allow/deny patterns, optimistic concurrency - ShellToolset: 1 tool (run_command) with command validation, timeout handling, and async subprocess execution via anyio --- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: David Sanchez <64162682+dsfaccini@users.noreply.github.com>
25 lines
931 B
Bash
Executable File
25 lines
931 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# One-off mutation testing runner.
|
|
#
|
|
# mutmut is intentionally not a project dev dependency: it pulls in a large
|
|
# tree and is only needed when validating test quality. Install it ephemerally
|
|
# via `uv run --with` and invoke it as a subcommand.
|
|
#
|
|
# Config (paths_to_mutate, tests_dir, also_copy, pytest_add_cli_args) lives in
|
|
# [tool.mutmut] in pyproject.toml — mutmut v3 reads it from CWD by default.
|
|
#
|
|
# Usage:
|
|
# scripts/run-mutmut.sh # run all mutants
|
|
# scripts/run-mutmut.sh results # show pass/fail summary
|
|
# scripts/run-mutmut.sh show <mutant> # inspect a specific mutant
|
|
# scripts/run-mutmut.sh --max-children 4 run # any mutmut flag works
|
|
#
|
|
# Pair with `make testcov` to keep coverage at 100% — surviving mutants usually
|
|
# indicate missing test cases for boundary conditions.
|
|
|
|
set -euo pipefail
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
uv run --with "mutmut>=3.5.0" -- mutmut "$@"
|