1
0
Fork 0
mirror of https://github.com/imjasonh/testscript-rs synced 2026-07-18 14:46:25 +00:00

Refactor run module into modular structure (#18)

## Summary

Refactors the monolithic `run.rs` file into a clean modular structure to
improve maintainability and code organization.

### Changes

- **Split `run.rs` into focused modules:**
  - `run/environment.rs` - TestEnvironment and file operations
  - `run/params.rs` - RunParams configuration and conditions  
  - `run/commands.rs` - Built-in command implementations
  - `run/execution.rs` - Command dispatch and execution logic
  - `run/mod.rs` - Public API coordination

### Benefits

- **Better maintainability** - Each file has clear responsibility
- **Easier navigation** - Find specific functionality quickly
- **Separation of concerns** - Commands, config, environment isolated
- **Prepares for future features** - Clean foundation for WorkdirRoot
and other enhancements

### Test Plan

- [x] All 37 tests still pass
- [x] No functionality changes
- [x] Clean compilation with no warnings
- [x] Pre-commit hooks pass (formatting, linting, compilation)

This is a pure refactoring with no behavior changes - just improved code
organization.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Jason Hall 2025-09-26 21:17:45 -04:00 committed by GitHub
parent d9f9d4f0e6
commit 0c4315ece8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 1173 additions and 1076 deletions

View file

@ -143,7 +143,7 @@ fn test_mixed_conditions() {
[!windows] exec echo "not windows"
exec echo "always runs"
[linux] exec echo "linux only"
[!nonexistent] exec echo "not nonexistent""#;
[!release] exec echo "not release mode""#;
fs::write(&script_path, script_content).unwrap();