# nextest-rs/nextest

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nextest-rs-nextest).**

2,828 stars · 150 forks · Rust · apache-2.0

## Links

- GitHub: https://github.com/nextest-rs/nextest
- Homepage: https://nexte.st
- awesome-repositories: https://awesome-repositories.com/repository/nextest-rs-nextest.md

## Topics

`cargo-plugin` `cargo-subcommand` `flaky-tests` `junit` `nextest` `rust` `testing`

## Description

nextest is a high-performance test execution framework and Rust test runner designed to manage parallelism, retries, and timeouts. It serves as a test recording system that captures execution metadata and outputs into archives for later failure analysis and replay.

The project distinguishes itself as a flakiness detection tool, identifying unstable tests through stress loops and automated retry policies. It also functions as a CI test orchestrator, capable of partitioning test suites across multiple workers and exporting results in standardized JUnit XML and JSON formats.

The framework provides broad capabilities for test execution, including process isolation to prevent shared state interference, a domain-specific language for complex test filtering, and resource slotting to prevent collisions during concurrent runs. It also covers observability through system call tracing, dynamic execution tracing, and integration with external debuggers.

The tool supports a wide configuration surface, utilizing JSON schemas for validation and providing platform-specific overrides to ensure consistent behavior across different operating systems and architectures.

## Tags

### Development Tools & Productivity

- [High Performance Task Execution](https://awesome-repositories.com/f/development-tools-productivity/high-performance-task-execution.md) — Executes tests using a high-performance execution model to maximize speed and reliability. ([source](https://nexte.st/))
- [Test Concurrency Management](https://awesome-repositories.com/f/development-tools-productivity/thread-managers/test-concurrency-management.md) — Controls the number of concurrent threads used for the test suite and individual tests to balance resources. ([source](https://nexte.st/docs/configuration/reference/))
- [Target-Specific Build Settings](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-build-targets/target-specific-build-settings.md) — Adjusts configuration values based on the build target platform to optimize behavior across different operating systems. ([source](https://nexte.st/docs/user-config/))
- [Test Performance Profiling](https://awesome-repositories.com/f/development-tools-productivity/debugging-profiling-testing/test-execution-management/test-suites/test-performance-profiling.md) — Analyzes test execution times to identify and flag slow tests that may indicate performance regressions. ([source](https://nexte.st/docs/features/slow-tests/))
- [Test Dependency Analysis](https://awesome-repositories.com/f/development-tools-productivity/dependency-analysis-tools/test-dependency-analysis.md) — Identifies sets of tests using predicates based on package names and dependency relationships. ([source](https://nexte.st/docs/filtersets/))
- [Platform-Aware](https://awesome-repositories.com/f/development-tools-productivity/environment-initializers/platform-aware.md) — Applies conditional settings and overrides based on the host or target operating system and architecture.
- [Test Execution Wrappers](https://awesome-repositories.com/f/development-tools-productivity/installation-scripts/script-to-executable-compilers/script-wrappers/test-execution-wrappers.md) — Executes test binaries via wrapper scripts to support cross-compilation and specific target environments. ([source](https://nexte.st/docs/features/target-runners/))
- [Fail-Fast](https://awesome-repositories.com/f/development-tools-productivity/parallel-execution/fail-fast.md) — Stops the test suite after a specific number of failures to provide immediate feedback. ([source](https://nexte.st/docs/configuration/reference/))

### Testing & Quality Assurance

- [Rust Test Process Isolation](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution/rust-test-process-isolation.md) — Runs Rust test suites with high parallelism and strict process isolation to improve reliability.
- [Test Execution Recording and Replay](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-recording-and-replay.md) — Captures test execution data into archives to replay runs locally or analyze performance traces. ([source](https://nexte.st/))
- [Event Stream Recording](https://awesome-repositories.com/f/testing-quality-assurance/event-stream-recording.md) — Captures all test execution events and metadata into a serialized archive for later analysis or replay.
- [Non-Deterministic Failure Detection](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-failure-debugging-tools/non-deterministic-failure-detection.md) — Identifies non-deterministic test failures through stress loops and automated retries.
- [Test Isolation](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-isolation.md) — Executes each test in a separate process to prevent shared state interference and isolate crashes.
- [Flaky Test Analyzers](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters/ai-driven-test-analyzers/flaky-test-analyzers.md) — Identifies unstable tests by running them in stress loops to verify consistent behavior. ([source](https://nexte.st/))
- [Test Execution Timeouts](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-execution-timeouts.md) — Enforces time limits on tests and benchmarks to terminate processes that exceed defined windows. ([source](https://nexte.st/docs/configuration/reference/))
- [Test Retry Strategies](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-retry-strategies.md) — Automatically reruns failed tests multiple times to identify and mark flaky test cases. ([source](https://nexte.st/docs/features/retries/))
- [Parallel Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution.md) — Runs individual tests in separate processes to isolate failures and reduce total execution time. ([source](https://nexte.st/docs/design/how-it-works/))
- [Concurrency Limiters](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution/concurrency-limiters.md) — Restricts the number of simultaneous resource-intensive tests using weights to prevent system exhaustion. ([source](https://nexte.st/docs/configuration/test-groups/))
- [Parallelism Tuning](https://awesome-repositories.com/f/testing-quality-assurance/parallel-test-execution/parallelism-tuning.md) — Sets the number of simultaneous tests using CPU counts or fixed integers to balance resource usage. ([source](https://nexte.st/docs/running/))
- [Test-Level Debugging](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/diagnostic-toolchains/debugging-and-testing/test-level-debugging.md) — Allows launching specific tests under a debugger or system call tracer to isolate and analyze failures. ([source](https://nexte.st/docs/running/))
- [Test Suite Partitioning](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/test-execution-orchestration/automated-test-runners/test-suite-partitioning.md) — Splits a test suite into multiple buckets using slicing or hashing to execute tests in parallel. ([source](https://nexte.st/docs/ci-features/partitioning/))
- [Test Stress Loops](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/automated-test-generators/stress-testing/test-stress-loops.md) — Identifies unstable tests by running them in repeated stress loops to detect intermittent failures. ([source](https://nexte.st/docs/features/stress-tests/))
- [Test Selection Patterns](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/cli-test-runners/pattern-test-runners/test-selection-patterns.md) — Identifies tests or packages using equality, substrings, regular expressions, or glob patterns. ([source](https://nexte.st/docs/filtersets/reference/))
- [Rust Test Execution Engines](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/testing-frameworks/test-frameworks/execution-and-infrastructure/test-execution-runners/test-runner-frameworks/rust-test-execution-engines.md) — Provides a high-performance execution engine for Rust tests with process isolation.
- [Test Discovery Mechanisms](https://awesome-repositories.com/f/testing-quality-assurance/test-discovery-mechanisms.md) — Provides automated processes for identifying and queuing all discoverable tests within a workspace. ([source](https://nexte.st/docs/listing/))
- [Test Execution Filtering](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-filtering.md) — Provides mechanisms to select specific tests for execution based on names, groups, packages, or target platforms. ([source](https://nexte.st/docs/configuration/reference/))
- [Complex Filter Composition](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-filtering/complex-filter-composition.md) — Combines selection criteria using intersection, union, and negation to isolate specific test sets. ([source](https://nexte.st/docs/filtersets/reference/))
- [Test Execution Recording](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-recording.md) — Captures statuses, durations, and outputs into a cache for later analysis or failure reproduction. ([source](https://nexte.st/docs/features/record-replay-rerun/))
- [Test Selection DSLs](https://awesome-repositories.com/f/testing-quality-assurance/test-selection-dsls.md) — Uses a domain specific language with boolean logic and regex to select specific test subsets.
- [Test Execution Management](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/test-execution-management.md) — Manages test parallelism, retries, timeouts, complex filtering, and resource slotting.
- [Test Configuration](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-configuration.md) — Assigns specific behaviors, such as automatic retries or serial execution, to individual tests. ([source](https://nexte.st/))
- [Test Execution Overrides](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-configuration/test-execution-overrides.md) — Customizes timeouts, retries, and priority for specific tests based on name filters or platforms. ([source](https://nexte.st/docs/configuration/per-test-overrides/))
- [Immediate Failure Termination](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-failure-debugging-tools/immediate-failure-termination.md) — Halts the execution of new tests immediately after the first failure occurs. ([source](https://nexte.st/docs/running/))
- [Flaky Test Metadata Reporting](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters/ai-driven-test-analyzers/flaky-test-analyzers/flaky-test-metadata-reporting.md) — Tags tests that required retries to pass and includes this flakiness status in execution reports. ([source](https://nexte.st/docs/features/retries/))
- [Flaky Test Outcome Policies](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters/ai-driven-test-analyzers/flaky-test-analyzers/flaky-test-outcome-policies.md) — Determines if tests that eventually pass after an initial failure are recorded as successful or failed. ([source](https://nexte.st/docs/features/retries/))
- [Test Result Reporters](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-reporters/test-result-reporters.md) — Generates test results in JUnit XML format for integration with external reporting tools. ([source](https://nexte.st/docs/configuration/reference/))
- [Test Coverage Collections](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/coverage-diagnostics-reporting/test-coverage-collections.md) — Collects execution data during test runs by integrating with coverage tools and reporting services. ([source](https://nexte.st/docs/integrations/test-coverage/))
- [Execution Standardizations](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-execution-timeouts/execution-standardizations.md) — Provides a shared configuration file to standardize rules for retries, timeouts, and test groups across the project. ([source](https://nexte.st/docs/configuring-nextest/))
- [Test Grouping Utilities](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/test-grouping-utilities.md) — Organizes tests into custom groups to manage shared resource usage and ensure mutual exclusion. ([source](https://nexte.st/docs/configuration/reference/))
- [Failed Test Rerunning](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/test-lifecycle-execution-control/transient-failure-reruns/failed-test-rerunning.md) — Tracks and executes only the specific test cases that failed in a previous run across iterations. ([source](https://nexte.st/docs/design/architecture/recording-runs/))
- [Hanging Test Cancellations](https://awesome-repositories.com/f/testing-quality-assurance/hanging-test-cancellations.md) — Terminates unresponsive tests by sending system signals to the process to ensure reliable cleanup. ([source](https://nexte.st/docs/design/why-process-per-test/))
- [Interpreter-Based Testing](https://awesome-repositories.com/f/testing-quality-assurance/interpreter-based-testing.md) — Uses specialized interpreters to execute tests for the purpose of detecting memory errors and undefined behavior. ([source](https://nexte.st/docs/integrations/))
- [Live Test Status Querying](https://awesome-repositories.com/f/testing-quality-assurance/live-test-status-querying.md) — Provides an interactive way to inspect process IDs, duration, and captured output of tests while they are running. ([source](https://nexte.st/docs/reporting/))
- [Subprocess Leak Detection](https://awesome-repositories.com/f/testing-quality-assurance/subprocess-leak-detection.md) — Detects and marks tests as failures if they leave orphaned child processes after completion. ([source](https://nexte.st/docs/features/leaky-tests/))
- [Test and Benchmark Execution](https://awesome-repositories.com/f/testing-quality-assurance/test-and-benchmark-execution.md) — Measures code execution speed by running benchmarks across multiple measurement harnesses. ([source](https://nexte.st/docs/features/benchmarks/))
- [Test Execution Pipelines](https://awesome-repositories.com/f/testing-quality-assurance/test-execution-pipelines.md) — Manages a lifecycle of setup scripts, test execution, and teardown with scoped environment variable injection.
- [Test Process Leak Detection](https://awesome-repositories.com/f/testing-quality-assurance/test-process-leak-detection.md) — Flags tests that fail to clean up child processes upon completion. ([source](https://nexte.st/docs/configuration/reference/))
- [Test Setup Scripts](https://awesome-repositories.com/f/testing-quality-assurance/test-setup-scripts.md) — Executes scripts to initialize databases, services, or fixtures before tests begin with specific scoping. ([source](https://nexte.st/))
- [Execution Prioritization](https://awesome-repositories.com/f/testing-quality-assurance/test-suite-execution/execution-prioritization.md) — Allows assigning priority values to tests to ensure critical cases are executed first. ([source](https://nexte.st/docs/configuration/reference/))
- [Cross-Platform Test Execution](https://awesome-repositories.com/f/testing-quality-assurance/testing-infrastructure-management/cross-platform-test-execution.md) — Enables running test suites across different operating systems and architectures using platform-specific overrides.

### Data & Databases

- [Test Result Persistence](https://awesome-repositories.com/f/data-databases/result-persistence-layers/test-result-persistence.md) — Stores execution results on disk to enable replaying runs or selectively rerunning tests. ([source](https://nexte.st/docs/user-config/reference/))
- [Test Execution Archives](https://awesome-repositories.com/f/data-databases/test-execution-archives.md) — Captures test execution metadata and outputs into archives for later replay and analysis.

### DevOps & Infrastructure

- [CI Test Distribution](https://awesome-repositories.com/f/devops-infrastructure/continuous-integration/ci-test-distribution.md) — Distributes test loads across multiple workers and exports results in a standardized XML format. ([source](https://nexte.st/))
- [Platform-Based Execution Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-overrides/proxy-config-overrides/platform-based-execution-overrides.md) — Overrides retries or timeouts based on the host or target platform using configuration expressions. ([source](https://nexte.st/docs/configuration/specifying-platforms/))
- [Platform-Specific Config Overrides](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/configuration-resolution-engines/configuration-overrides/proxy-config-overrides/platform-specific-config-overrides.md) — Applies specific configuration values based on the operating system to ensure optimal behavior across environments. ([source](https://nexte.st/docs/user-config/reference/))
- [CI Test Orchestrators](https://awesome-repositories.com/f/devops-infrastructure/continuous-integration/ci-test-distribution/ci-test-orchestrators.md) — Partitions test suites across multiple workers and exports results in standardized JUnit XML and JSON formats.
- [Execution Profiles](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/execution-environment-configurations/execution-profiles.md) — Groups configuration options into named profiles for applying different settings in local versus CI environments. ([source](https://nexte.st/docs/configuration/))
- [Test Run Replays](https://awesome-repositories.com/f/devops-infrastructure/workflow-run-management/test-run-replays.md) — Reproduces results or analyzes failures by executing a specific set of tests from a prior run. ([source](https://nexte.st/docs/features/record-replay-rerun/replay/))

### Operating Systems & Systems Programming

- [Process Isolation](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/process-and-memory-management/process-isolation.md) — Executes each test in a dedicated process to prevent global state interference and memory corruption. ([source](https://nexte.st/docs/design/why-process-per-test/))

### Software Engineering & Architecture

- [Test Execution Replays](https://awesome-repositories.com/f/software-engineering-architecture/failure-handling-policies/success-and-failure-wrapping/success-and-failure-partitioning/test-result-registries/test-execution-replays.md) — Records execution data and replays previous runs to facilitate efficient failure analysis.
- [Retry Policies](https://awesome-repositories.com/f/software-engineering-architecture/retry-policies.md) — Reruns failed tests using fixed or exponential backoff strategies to handle intermittent failures. ([source](https://nexte.st/docs/configuration/reference/))
- [Flaky Task Retry Managers](https://awesome-repositories.com/f/software-engineering-architecture/task-retry-policies/flaky-task-retry-managers.md) — Identifies unstable tests through stress loops and automated retry policies to ensure build quality.
- [Resource Slot Scheduling](https://awesome-repositories.com/f/software-engineering-architecture/task-scheduling/parallel-task-executors/resource-slot-scheduling.md) — Assigns unique integer slot numbers to concurrent tests to prevent resource collisions, such as network port conflicts. ([source](https://nexte.st/docs/glossary/))
- [Execution Replay](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-schedulers/deterministic-runners/execution-replay.md) — Reproduces previously captured test executions to inspect results using different reporting options. ([source](https://nexte.st/docs/features/record-replay-rerun/))
- [Test Execution Prioritization](https://awesome-repositories.com/f/software-engineering-architecture/dependency-graph-resolution/concurrent-dependency-resolution/plugin-execution-ordering/numeric-priority-orderings/test-execution-prioritization.md) — Assigns numeric weights to tests to determine their specific order of execution within the suite. ([source](https://nexte.st/docs/configuration/test-priorities/))
- [Environment Setup Scripts](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/engineering-best-practices/development-process-methodologies/development-workflows/environment-setup-scripts.md) — Executes custom scripts before tests based on platform requirements or filters to prepare the environment. ([source](https://nexte.st/docs/configuration/reference/))
- [Project Configuration](https://awesome-repositories.com/f/software-engineering-architecture/project-configuration.md) — Sets project-wide rules for retries and timeouts in a shared configuration file for version-controlled consistency. ([source](https://nexte.st/docs/configuration/))
- [Test Resource Slots](https://awesome-repositories.com/f/software-engineering-architecture/task-scheduling/parallel-task-executors/resource-slot-scheduling/test-resource-slots.md) — Assigns unique integer identifiers to concurrent tests to prevent collisions when using shared resources like ports.

### System Administration & Monitoring

- [System Call Tracing](https://awesome-repositories.com/f/system-administration-monitoring/diagnostic-tools/diagnostics/execution-tracers/kernel-tracing-frameworks/system-call-tracing.md) — Logs and filters low-level interactions between the test process and the operating system using a system call tracer. ([source](https://nexte.st/docs/integrations/))
- [Execution Progress Tracking](https://awesome-repositories.com/f/system-administration-monitoring/execution-progress-tracking.md) — Displays real-time test progress via progress bars and counters during execution. ([source](https://nexte.st/docs/reporting/))
- [Execution Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/execution-tracing-analysis/execution-tracing.md) — Provides probes for dynamic tracing to monitor test attempts and measure execution timing in real time. ([source](https://nexte.st/docs/integrations/usdt/))

### Artificial Intelligence & ML

- [Machine-Readable Test Results](https://awesome-repositories.com/f/artificial-intelligence-ml/agent-planning-frameworks/machine-readable-plan-formats/machine-readable-test-results.md) — Produces test execution data in JSON format to facilitate integration with analysis scripts. ([source](https://nexte.st/docs/machine-readable/libtest-json/))

### Programming Languages & Runtimes

- [Serial Output Streaming](https://awesome-repositories.com/f/programming-languages-runtimes/standard-input-output-streams/output-stream-adaptation/test-output-streams/serial-output-streaming.md) — Passes test output directly to the terminal in serial order to prevent interleaved text from concurrent tests. ([source](https://nexte.st/docs/reporting/))
- [Undefined Behavior Detection](https://awesome-repositories.com/f/programming-languages-runtimes/undefined-behavior-detection.md) — Runs tests through a specialized interpreter to detect illegal operations and memory errors. ([source](https://nexte.st/docs/integrations/miri/))

### Part of an Awesome List

- [Testing Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/testing-frameworks.md) — Parallel test runner with advanced filtering and output.
