crazy_train/lib.rs
1//! # Crazy Train
2//!
3//! **Crazy Train** is a Rust library designed for randomized and fuzz execution of command-line
4//! interfaces. It helps discover unforeseen sequences of steps and parameters that can lead
5//! to unexpected errors. This library facilitates reproducible test plan runs, ensuring that the
6//! command-line interface behaves as expected under various scenarios.
7//!
8//! ## Features
9//!
10//! - **Randomized Execution**: Execute commands with random parameters and sequences to explore
11//! unexpected behaviors.
12//! - **Fuzz Testing**: Identify edge cases and potential bugs by fuzzing input to the command line.
13//! - **Reproducible Tests**: Create a test plan that can be repeated to ensure consistency in test
14//! results.
15//! - **Error Discovery**: Capture and report unforeseen errors encountered during execution.
16//!
17//! ## Getting Started
18//!
19//! To start using Crazy Train in your project, add it to your `Cargo.toml` file:
20//!
21//! ```toml
22//! [dependencies]
23//! crazy-train = "*"
24//! ```
25//!
26
27mod errors;
28pub mod executer;
29mod generator;
30mod randomizer;
31mod runner;
32pub mod step;
33
34pub use errors::{Error, Result};
35pub use generator::StringDef;
36pub use randomizer::Randomizer;
37pub use runner::{new, Runner};