Crate crazy_train

Crate crazy_train 

Source
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 StepTrait trait, which outlines the necessary methods that any step in the execution process must implement. It also defines the Plan struct, 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.
StringDef
Defines the criteria for generating random strings.

Enums§

Error
Represents errors that can occur in the Crazy Train library.

Functions§

new
Creates a new Runner instance with the given steps.

Type Aliases§

Result