From 332dc5d2f237d437fadb56568e9c3421784ad6c4 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 7 Jun 2020 17:41:48 +0200 Subject: [PATCH 1/2] test(logname) add a test for logname --- tests/by-util/test_logname.rs | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/tests/by-util/test_logname.rs b/tests/by-util/test_logname.rs index 651491045..00c98c256 100644 --- a/tests/by-util/test_logname.rs +++ b/tests/by-util/test_logname.rs @@ -1 +1,27 @@ -// ToDO: add tests +use crate::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("error: no login name") + { + // In the CI, some server are failing to return logname. + // As seems to be a configuration issue, ignoring it + return; + } + + assert!(result.success); + assert!(!result.stdout.trim().is_empty()); +} From 851e25d134da1bcde2084c9c84d6261b82f907a3 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sun, 7 Jun 2020 17:54:30 +0200 Subject: [PATCH 2/2] refactor(logname): simplify the code --- src/uu/logname/src/logname.rs | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/uu/logname/src/logname.rs b/src/uu/logname/src/logname.rs index bbe2dddae..7c5e2024b 100644 --- a/src/uu/logname/src/logname.rs +++ b/src/uu/logname/src/logname.rs @@ -39,14 +39,10 @@ static LONG_HELP: &str = ""; pub fn uumain(args: Vec) -> i32 { app!(SYNTAX, SUMMARY, LONG_HELP).parse(args); - exec(); - - 0 -} - -fn exec() { match get_userlogin() { Some(userlogin) => println!("{}", userlogin), None => show_error!("no login name"), } + + 0 }