Expand description
§Crazy Train
Crazy Train is a Rust library designed for randomized and fuzz execution of command-line interfaces. It helps discover unforeseen sequences of steps and parameters that can lead to unexpected errors. This library facilitates reproducible test plan runs, ensuring that the command-line interface behaves as expected under various scenarios.
§Features
- Randomized Execution: Execute commands with random parameters and sequences to explore unexpected behaviors.
- Fuzz Testing: Identify edge cases and potential bugs by fuzzing input to the command line.
- Reproducible Tests: Create a test plan that can be repeated to ensure consistency in test results.
- Error Discovery: Capture and report unforeseen errors encountered during execution.
§Getting Started
To start using Crazy Train in your project, add it to your Cargo.toml file:
[dependencies]
crazy-train = "*"Modules§
- executer
- This module provides functionality for executing shell commands and capturing their outputs.
- step
- This module defines the
StepTraittrait, which outlines the necessary methods that any step in the execution process must implement. It also defines thePlanstruct, which encapsulates a command to be executed as part of a step.
Structs§
- Randomizer
- Struct for managing random number generation, allowing seed control for reproducibility.
- Runner
- A struct that orchestrates the execution of a series of steps.
- String
Def - Defines the criteria for generating random strings.
Enums§
- Error
- Represents errors that can occur in the Crazy Train library.