pub struct PythonTestRunner { /* private fields */ }Expand description
Python test runner using uv and pytest
Handles:
- Checking for pyproject.toml
- Setting up Python environment via uv
- Running pytest
- Parsing results for V_log calculation
Implementations§
Source§impl PythonTestRunner
impl PythonTestRunner
Sourcepub fn with_timeout(self, secs: u64) -> Self
pub fn with_timeout(self, secs: u64) -> Self
Set timeout
Sourcepub fn without_auto_setup(self) -> Self
pub fn without_auto_setup(self) -> Self
Disable auto-setup (don’t create pyproject.toml if missing)
Sourcepub fn has_pyproject(&self) -> bool
pub fn has_pyproject(&self) -> bool
Check if workspace has a Python project setup
Sourcepub async fn has_pytest(&self) -> bool
pub async fn has_pytest(&self) -> bool
Check if workspace has pytest configured
Sourcepub async fn setup_environment(&self) -> Result<()>
pub async fn setup_environment(&self) -> Result<()>
Initialize the Python environment with uv NOTE: This assumes pyproject.toml already exists (created by orchestrator’s step_init_project)
Sourcepub async fn run_pytest(&self, test_args: &[&str]) -> Result<TestResults>
pub async fn run_pytest(&self, test_args: &[&str]) -> Result<TestResults>
Run pytest and parse results
If environment is not set up, will attempt to set it up first.
Sourcepub async fn run_test_files(&self, test_files: &[&Path]) -> Result<TestResults>
pub async fn run_test_files(&self, test_files: &[&Path]) -> Result<TestResults>
Run pytest on specific test files
Sourcepub fn calculate_v_log(
&self,
results: &TestResults,
contract: &BehavioralContract,
) -> f32
pub fn calculate_v_log( &self, results: &TestResults, contract: &BehavioralContract, ) -> f32
Calculate V_log (Logic Energy) from test results and behavioral contract Uses weighted tests from the contract to determine criticality
Sourcepub fn match_weighted_tests(
&self,
results: &mut TestResults,
contract: &BehavioralContract,
)
pub fn match_weighted_tests( &self, results: &mut TestResults, contract: &BehavioralContract, )
Match test failures with weighted tests from contract to set criticality
Auto Trait Implementations§
impl Freeze for PythonTestRunner
impl RefUnwindSafe for PythonTestRunner
impl Send for PythonTestRunner
impl Sync for PythonTestRunner
impl Unpin for PythonTestRunner
impl UnwindSafe for PythonTestRunner
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more