Releases: syedazeez337/bte
Releases · syedazeez337/bte
Release 0.2.0
Release 0.2.0: Code Quality and Remediation
Overview
This release focuses on code quality improvements, dead code removal, and comprehensive safety documentation.
Changes
Dead Code Cleanup
- Removed 11 unused modules:
- benchmark, ci, explain, ratatui, defaults
- security, compat, fuzzing, safe_regex, limits, ecma48
- Removed 9
#![allow(dead_code)]attributes from active modules
Tracing Removal
- Removed
tracingandtracing-subscriberdependencies - Replaced
debug!()macros with conditionaleprintln!()for verbose output
PTY Improvements
- Added
impl Drop for Ptyto ensure deterministic file descriptor cleanup
Safety Documentation
- Added comprehensive safety comments for all unsafe blocks in process.rs:
fork()- process duplicationioctl(TIOCSCTTY)- terminal controllingchdir()- working directory__errno_location()- thread-local errnowrite()- pipe write_exit()/exit()- process terminationkill(pid, 0)- signal probe
Magic Number Constants
- Added constants in process.rs:
SIGTERM_TIMEOUT_MS = 500POLL_INTERVAL_MS = 10MAX_EINTR_RETRIES = 10
- Added test sleep constants for reliable testing
Scenario Validation Tests
- Added 28 integration tests covering validation of:
- Invalid scenarios (empty name, zero dimensions, empty steps, invalid patterns)
- Valid scenarios (all step types, all invariant types, complex commands)
- JSON/YAML parsing
run_scenario Refactoring
- Split monolithic
run_scenario()(365 lines) into 15 focused functions across 5 phases:- Phase 1: Initialization
- Phase 2: Invariant Setup
- Phase 3: Step Execution
- Phase 4: Final Evaluation
- Phase 5: Outcome Determination
Examples Updated
- All 7 examples updated to use current BTE format
CI Status
- Tests: 239 passed (201 unit + 38 integration)
- Clippy: 0 errors (103 warnings for dead code - intentional)
- Release binary: 3.5MB
Stats
- 35 files changed
- 1,707 insertions(+)
- 6,856 deletions(-)
Assets
- Binary: bte (3.5MB)
- Source code: .tar.gz, .zip