mirror of
https://github.com/uutils/coreutils
synced 2024-12-15 07:42:48 +00:00
9a5d18b8f6
For example `env a=b=c printenv a=b` should fail Tested by tests/misc/printenv.sh
39 lines
936 B
Rust
39 lines
936 B
Rust
use crate::common::util::*;
|
|
use std::env;
|
|
|
|
#[test]
|
|
fn test_get_all() {
|
|
let key = "KEY";
|
|
env::set_var(key, "VALUE");
|
|
assert_eq!(env::var(key), Ok("VALUE".to_string()));
|
|
|
|
TestScenario::new(util_name!())
|
|
.ucmd_keepenv()
|
|
.succeeds()
|
|
.stdout_contains("HOME=")
|
|
.stdout_contains("KEY=VALUE");
|
|
}
|
|
|
|
#[test]
|
|
fn test_get_var() {
|
|
let key = "KEY";
|
|
env::set_var(key, "VALUE");
|
|
assert_eq!(env::var(key), Ok("VALUE".to_string()));
|
|
|
|
let result = TestScenario::new(util_name!())
|
|
.ucmd_keepenv()
|
|
.arg("KEY")
|
|
.succeeds();
|
|
|
|
assert!(!result.stdout_str().is_empty());
|
|
assert_eq!(result.stdout_str().trim(), "VALUE");
|
|
}
|
|
|
|
#[test]
|
|
fn test_ignore_equal_var() {
|
|
let scene = TestScenario::new(util_name!());
|
|
// tested by gnu/tests/misc/printenv.sh
|
|
let result = scene.ucmd().env("a=b", "c").arg("a=b").fails();
|
|
|
|
assert!(result.stdout_str().is_empty());
|
|
}
|