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§

  • This module provides functionality for executing shell commands and capturing their outputs.
  • 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§

  • Struct for managing random number generation, allowing seed control for reproducibility.
  • A struct that orchestrates the execution of a series of steps.
  • Defines the criteria for generating random strings.

Enums§

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

Functions§

  • Creates a new Runner instance with the given steps.

Type Aliases§