Skip to main content

Crate rpytest_daemon

Crate rpytest_daemon 

Source
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§

TestNodeInfo
Re-export commonly used types Test node information returned from daemon.

Enums§

ErrorCode
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.