Skip to main content

Module rust

Module rust 

Source
Expand description

§Rust Test Quality Analysis Module

Provides comprehensive analysis of Rust test code quality, detecting patterns that indicate potential issues in test suites.

§Components

  • analyzer: Main orchestrator for Rust test analysis
  • assertion_detector: Detects missing or weak assertions
  • complexity_scorer: Measures test complexity
  • flaky_detector: Identifies flaky test patterns
  • framework_detector: Detects test frameworks (std, criterion, proptest, rstest)
  • test_classifier: Classifies tests by type

§Test Quality Metrics

§Assertion Analysis

  • Counts assertions per test (assert!, assert_eq!, assert_ne!)
  • Detects tests with no assertions
  • Identifies Result-based tests
  • Tracks \[should_panic\] usage

§Complexity Scoring

  • Conditional statements: +2 per if/match
  • Loops: +3 per loop
  • Assertions: +1 per assertion beyond 5
  • Nesting depth: +2 per level > 2
  • Line count: +(lines-30)/10 for tests > 30 lines

§Flaky Pattern Detection

  • Timing: std::thread::sleep, Instant::now()
  • Random: rand crate usage
  • External: Network calls, filesystem hardcoded paths
  • Threading: Unsynchronized concurrent access
  • Hash ordering: HashMap iteration

§Framework Detection

  • Standard \[test\] attribute
  • Criterion benchmarks
  • Proptest property tests
  • Rstest parameterized tests

Modules§

analyzer
assertion_detector
complexity_scorer
flaky_detector
framework_detector
test_classifier

Structs§

RustTestQualityIssue
Rust test quality issue

Enums§

RustAssertionType
Rust-specific assertion types
RustFlakinessType
Flaky pattern types specific to Rust
RustTestFramework
Rust test framework types
RustTestIssueType
Types of test quality issues
RustTestSeverity
Test quality issue severity
RustTestType
Types of Rust tests

Functions§

convert_rust_test_issue_to_debt_item
Convert Rust test quality issue to debt item