rust-expect-macros 0.1.0

Procedural macros for the rust-expect terminal automation library
Documentation

rust-expect-macros

Procedural macros for the rust-expect terminal automation library.

Macros

patterns!

Create multiple patterns at once:

use rust_expect_macros::patterns;

let patterns = patterns![
    "login:",
    "password:",
    r"\$ $",
];

dialog!

Define dialog flows declaratively:

use rust_expect_macros::dialog;

let login_dialog = dialog! {
    expect "login: " => send "admin\n",
    expect "password: " => send "secret\n",
    expect "$ ",
};

regex!

Compile-time verified regex patterns:

use rust_expect_macros::regex;

let pattern = regex!(r"\d{3}-\d{4}");

timeout!

Human-readable duration syntax:

use rust_expect_macros::timeout;

let duration = timeout!(5 seconds);
let short = timeout!(500 ms);

License

Licensed under MIT or Apache-2.0.