mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-27 11:07:44 +00:00
test(whoami): Add test for whoami (#1506)
* test(whoami): Add test for whoami Side effect: also tests "id -un"
This commit is contained in:
parent
157dc38492
commit
0ca5132a06
2 changed files with 59 additions and 0 deletions
58
tests/test_whoami.rs
Normal file
58
tests/test_whoami.rs
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
use common::util::*;
|
||||||
|
use std::env;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_normal() {
|
||||||
|
let (_, mut ucmd) = at_and_ucmd!();
|
||||||
|
|
||||||
|
let result = ucmd.run();
|
||||||
|
println!("result.stdout = {}", result.stdout);
|
||||||
|
println!("result.stderr = {}", result.stderr);
|
||||||
|
println!("env::var(CI).is_ok() = {}", env::var("CI").is_ok());
|
||||||
|
|
||||||
|
for (key, value) in env::vars() {
|
||||||
|
println!("{}: {}", key, value);
|
||||||
|
}
|
||||||
|
if env::var("USER").is_ok()
|
||||||
|
&& env::var("USER").unwrap() == "runner"
|
||||||
|
&& result.stderr.contains("failed to get username")
|
||||||
|
{
|
||||||
|
// In the CI, some server are failing to return whoami.
|
||||||
|
// As seems to be a configuration issue, ignoring it
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
assert!(result.success);
|
||||||
|
assert!(!result.stdout.trim().is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_normal_compare_id() {
|
||||||
|
let (_, mut ucmd) = at_and_ucmd!();
|
||||||
|
|
||||||
|
let result = ucmd.run();
|
||||||
|
|
||||||
|
println!("result.stdout = {}", result.stdout);
|
||||||
|
println!("result.stderr = {}", result.stderr);
|
||||||
|
if env::var("USER").is_ok()
|
||||||
|
&& env::var("USER").unwrap() == "runner"
|
||||||
|
&& result.stderr.contains("failed to get username")
|
||||||
|
{
|
||||||
|
// In the CI, some server are failing to return whoami.
|
||||||
|
// As seems to be a configuration issue, ignoring it
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
assert!(result.success);
|
||||||
|
let ts = TestScenario::new("id");
|
||||||
|
let id = ts.cmd("id").arg("-un").run();
|
||||||
|
|
||||||
|
if env::var("USER").is_ok()
|
||||||
|
&& env::var("USER").unwrap() == "runner"
|
||||||
|
&& id.stderr.contains("cannot find name for user ID")
|
||||||
|
{
|
||||||
|
// In the CI, some server are failing to return whoami.
|
||||||
|
// As seems to be a configuration issue, ignoring it
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
assert_eq!(result.stdout.trim(), id.stdout.trim());
|
||||||
|
}
|
|
@ -104,6 +104,7 @@ generic! {
|
||||||
"unexpand", test_unexpand;
|
"unexpand", test_unexpand;
|
||||||
"uniq", test_uniq;
|
"uniq", test_uniq;
|
||||||
"wc", test_wc;
|
"wc", test_wc;
|
||||||
|
"whoami", test_whoami;
|
||||||
// Be aware of the trailing semicolon after the last item
|
// Be aware of the trailing semicolon after the last item
|
||||||
"hostname", test_hostname
|
"hostname", test_hostname
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue