cargo_tokio/
lib.rs

1mod ci;
2mod cli;
3mod targets;
4
5use ci::TokioCIStep;
6use cli::CargoTokio;
7
8use structopt::StructOpt;
9
10use std::io;
11
12pub fn run() -> io::Result<()> {
13    let cli = CargoTokio::from_args();
14
15    match cli.step() {
16        Some("test") => TokioCIStep::test_tokio_full(),
17        Some("test-unstable") => TokioCIStep::test_tokio_full_unstable(),
18        Some("miri") => TokioCIStep::miri(),
19        Some("san") => TokioCIStep::san(),
20        Some("cross") => TokioCIStep::cross(),
21        Some("features") => TokioCIStep::features(),
22        Some("minrust") => TokioCIStep::minrust(),
23        Some("fmt") => TokioCIStep::fmt(),
24        Some("clippy") => TokioCIStep::clippy(),
25        Some("docs") => TokioCIStep::docs(),
26        Some("loom") => TokioCIStep::loom(),
27        None => ci::run_all_steps(),
28        _ => Err(std::io::ErrorKind::InvalidInput.into()),
29    }
30}