Crate expectrl[][src]

Expand description

Expectrl a library for running, controlling and communicating with a process.

It supports async/await. To use it you should specify a async feature.

Example

use expectrl::{spawn, Regex, Eof, WaitStatus};

let mut p = spawn("ftp speedtest.tele2.net").unwrap();
p.expect(Regex("Name \\(.*\\):")).unwrap();
p.send_line("anonymous").unwrap();
p.expect("Password").unwrap();
p.send_line("test").unwrap();
p.expect("ftp>").unwrap();
p.send_line("cd upload").unwrap();
p.expect("successfully changed.\r\nftp>").unwrap();
p.send_line("pwd").unwrap();
p.expect(Regex("[0-9]+ \"/upload\"")).unwrap();
p.send_line("exit").unwrap();
p.expect(Eof).unwrap();
assert_eq!(p.wait().unwrap(), WaitStatus::Exited(p.pid(), 0));

Modules

Structs

Eof consider a match when it’s reached a EOF.

NBytes matches N bytes.

Regex checks a match by regex.

Session represents a process and its streams. It controlls process and communication with it.

Enums

ControlCode represents the standard ASCII control codes wiki

Possible return values from wait() or waitpid().

Traits

Needle an interface for search of a match in a buffer.

Functions

Spawn spawnes a new session.