Expand description
rpytest-daemon: Pure Rust daemon for test execution and management.
This crate provides a high-performance Rust daemon for rpytest that handles:
- IPC communication with the CLI via NNG
- Test collection using native AST parsing
- Inventory and state management with sled storage
- Test scheduling and execution
- Flakiness tracking and fixture management
§Features
embedded-python(default): Use PyO3 to embed Python for direct pytest execution, eliminating subprocess overhead.subprocess-only: Disable embedded Python, always use subprocess execution.
Re-exports§
pub use collector::NativeCollector;pub use context::RepoContext;pub use error::DaemonError;pub use error::Result;pub use executor::create_executor;pub use executor::create_pooled_executor;pub use executor::PooledExecutor;pub use executor::PythonExecutor;pub use executor::TestExecutor;pub use embedded::EmbeddedExecutor;pub use fixtures::FixtureManager;pub use flakiness::FlakinessTracker;pub use models::DaemonConfig;pub use models::ExecutionMode;pub use models::ScheduledTest;pub use models::FixtureScope;pub use models::FixtureState;pub use models::FlakinessRecord;pub use models::TestNode;pub use models::TestOutcome;pub use models::TestResult;pub use pool::WorkerPool;pub use scheduler::TestScheduler;pub use server::DaemonServer;pub use storage::DaemonStorage;
Modules§
- collector
- Native AST-based test collection using RustPython parser.
- context
- Repository context management - handles inventory, collection, and state.
- embedded
- Embedded Python execution using PyO3.
- error
- Error types for the rpytest daemon.
- executor
- Python subprocess executor for running pytest tests.
- fixtures
- Session fixture reuse management.
- flakiness
- Flakiness detection and tracking with explicit stability state machine.
- models
- Data models for the rpytest daemon.
- pool
- Worker pool for persistent Python test execution.
- scheduler
- Test scheduler for load balancing across workers.
- server
- IPC server using NNG for communication with the CLI.
- storage
- Storage layer using sled for persistent data.
Structs§
- Test
Node Info - Re-export commonly used types Test node information returned from daemon.
Enums§
- Error
Code - Re-export commonly used types Error codes for categorizing failures.
- Request
- Re-export commonly used types Commands sent from CLI to daemon.
- Response
- Re-export commonly used types Responses sent from daemon to CLI.
Constants§
- PROTOCOL_
VERSION - Re-export commonly used types Current protocol version. Increment when breaking changes are made.