test-exec - Test command line applications comfortably

![travis-badge] ![appveyor-badge] ![crates.io-badge] ![license-badge]

Cargo.toml [dev-dependencies] test-exec = "0.1.0

test-exec is a Rust testing library to help you at testing the output of a command line application. It aims for maximum comfort, and wants to prevent messing around with Command.

The main functionality is the exec macro: it executes your command, verifies the output and is highly customizable.

A few previews, assuming you have a binary target called my_bin:

// output can be used here like a normal process::Output ```

If the program exits with any other code than 0, a different stdout or stderr, or is running longer than 60 seconds, a panic occurs.

As you might have noticed, the bin target is added to the PATH automatically.

See the documentation for more.

Features

Installation and usage

As test-exec is a testing library, it should be added to the dev-dependencies:

[dev-dependencies] test-exec = "0.1.0

And it can be used in code by doing

```

[macro_use]

extern crate test_exec; ```

For instance in an integration test for a binary called my_pwd, whichs prints the current working directory

tests/bin.rs ```

[macro_use]

extern crate test_exec;

[test]

fn testprogramoutput() { exec!{ "my_pwd", cwd: "/", log: true,

    code: 0,
    stdout: b"/\n",
    stderr: []
};

} ```