Pragmatic Testing Framework for Python with BDD-style syntax and pluggable architecture
A minimal command wrapper that executes scenarios with fail-fast thresholds, signal-aware interruption, and deterministic exit codes for CI environments.
max_failures=1, when two failing scenarios precede a passing scenario, execution stops after the first failure and returns a non-zero exit code @testmax_failures=2, execution stops after the second failing scenario, leaving later scenarios unrun, and returns a non-zero exit code @testintercept_signal is raised during execution, the runner halts remaining scenarios, records the run as interrupted, and returns a non-zero exit code distinct from a normal success @testpaths and allow_empty is false, the runner exits with a non-zero code and a short message indicating nothing ran @testallow_empty true, the runner exits with code zero while still emitting an empty-discovery notice @test@generates
from typing import Iterable
def run_suite(paths: Iterable[str], *, max_failures: int | None = 1, allow_empty: bool = False, intercept_signal: str | None = "SIGINT") -> int:
"""
Run scenarios located at the provided paths using the dependency's built-in
interruption and exit-handling controls.
Args:
paths: File or directory paths to search for scenarios.
max_failures: Stop execution after this many scenario failures; None disables
the fail-fast threshold.
allow_empty: If True, treat an empty selection as success; otherwise treat it
as a failure.
intercept_signal: Name of an OS signal that should trigger an orderly stop
and exit; None disables signal interception.
Returns:
The process-style exit code produced by the executed run.
"""Behavior-driven Python testing framework with scenario discovery, interruption controls, and exit shaping.
tessl i tessl/pypi-vedro@1.14.0docs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10