mirror of
https://github.com/uutils/coreutils
synced 2024-12-18 17:14:42 +00:00
7ef4bb37a8
The main motivation is to move toward running those tests for a specific target, that is, if a test won't run on Windows, then we shouldn't build it. This was previously the default behavior and prevented a successful run on AppVeyor. I borrowed this pattern from the tests in the Cargo project.
36 lines
722 B
Rust
36 lines
722 B
Rust
use common::util::*;
|
|
|
|
static UTIL_NAME: &'static str = "echo";
|
|
|
|
#[test]
|
|
fn test_default() {
|
|
let (_, mut ucmd) = testing(UTIL_NAME);
|
|
assert_eq!(ucmd.run().stdout, "\n");
|
|
}
|
|
|
|
#[test]
|
|
fn test_no_trailing_newline() {
|
|
let (_, mut ucmd) = testing(UTIL_NAME);
|
|
ucmd.arg("-n")
|
|
.arg("hello_world");
|
|
|
|
assert_eq!(ucmd.run().stdout, "hello_world");
|
|
}
|
|
|
|
#[test]
|
|
fn test_enable_escapes() {
|
|
let (_, mut ucmd) = testing(UTIL_NAME);
|
|
ucmd.arg("-e")
|
|
.arg("\\\\\\t\\r");
|
|
|
|
assert_eq!(ucmd.run().stdout, "\\\t\r\n");
|
|
}
|
|
|
|
#[test]
|
|
fn test_disable_escapes() {
|
|
let (_, mut ucmd) = testing(UTIL_NAME);
|
|
ucmd.arg("-E")
|
|
.arg("\\b\\c\\e");
|
|
|
|
assert_eq!(ucmd.run().stdout, "\\b\\c\\e\n");
|
|
}
|