crazy_train/
lib.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! # 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:
//!
//! ```toml
//! [dependencies]
//! crazy-train = "*"
//! ```
//!

mod errors;
pub mod executer;
mod generator;
mod randomizer;
mod runner;
pub mod step;

pub use errors::{Error, Result};
pub use generator::StringDef;
pub use randomizer::Randomizer;
pub use runner::{new, Runner};