From f1073d7c9e5931d4e693828255247518efba267f Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Fri, 29 May 2026 13:15:52 +0200 Subject: [PATCH] dircolors: turn integration test into unit test --- src/uu/dircolors/src/dircolors.rs | 46 ++++++++++++++++++++++++++++++- tests/by-util/test_dircolors.rs | 46 +------------------------------ 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/src/uu/dircolors/src/dircolors.rs b/src/uu/dircolors/src/dircolors.rs index 0d90ee8f9..ffc2a7611 100644 --- a/src/uu/dircolors/src/dircolors.rs +++ b/src/uu/dircolors/src/dircolors.rs @@ -527,7 +527,7 @@ fn generate_dircolors_config() -> String { #[cfg(test)] mod tests { - use super::escape; + use super::*; #[test] fn test_escape() { @@ -536,4 +536,48 @@ mod tests { assert_eq!("\\:", escape(":")); assert_eq!("\\:", escape("\\:")); } + + #[test] + fn test_guess_syntax() { + use std::env; + let last = env::var("SHELL"); + unsafe { + env::set_var("SHELL", "/path/csh"); + } + assert_eq!(OutputFmt::CShell, guess_syntax()); + unsafe { + env::set_var("SHELL", "csh"); + } + assert_eq!(OutputFmt::CShell, guess_syntax()); + unsafe { + env::set_var("SHELL", "/path/bash"); + } + assert_eq!(OutputFmt::Shell, guess_syntax()); + unsafe { + env::set_var("SHELL", "bash"); + } + assert_eq!(OutputFmt::Shell, guess_syntax()); + unsafe { + env::set_var("SHELL", "/asd/bar"); + } + assert_eq!(OutputFmt::Shell, guess_syntax()); + unsafe { + env::set_var("SHELL", "foo"); + } + assert_eq!(OutputFmt::Shell, guess_syntax()); + unsafe { + env::set_var("SHELL", ""); + } + assert_eq!(OutputFmt::Unknown, guess_syntax()); + unsafe { + env::remove_var("SHELL"); + } + assert_eq!(OutputFmt::Unknown, guess_syntax()); + + if let Ok(s) = last { + unsafe { + env::set_var("SHELL", s); + } + } + } } diff --git a/tests/by-util/test_dircolors.rs b/tests/by-util/test_dircolors.rs index bbebe66cc..2be2671af 100644 --- a/tests/by-util/test_dircolors.rs +++ b/tests/by-util/test_dircolors.rs @@ -7,7 +7,7 @@ use uutests::at_and_ucmd; use uutests::new_ucmd; -use dircolors::{OutputFmt, StrUtils, guess_syntax}; +use dircolors::StrUtils; #[test] #[cfg(target_os = "linux")] @@ -30,50 +30,6 @@ fn test_invalid_arg() { new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } -#[test] -fn test_shell_syntax() { - use std::env; - let last = env::var("SHELL"); - unsafe { - env::set_var("SHELL", "/path/csh"); - } - assert_eq!(OutputFmt::CShell, guess_syntax()); - unsafe { - env::set_var("SHELL", "csh"); - } - assert_eq!(OutputFmt::CShell, guess_syntax()); - unsafe { - env::set_var("SHELL", "/path/bash"); - } - assert_eq!(OutputFmt::Shell, guess_syntax()); - unsafe { - env::set_var("SHELL", "bash"); - } - assert_eq!(OutputFmt::Shell, guess_syntax()); - unsafe { - env::set_var("SHELL", "/asd/bar"); - } - assert_eq!(OutputFmt::Shell, guess_syntax()); - unsafe { - env::set_var("SHELL", "foo"); - } - assert_eq!(OutputFmt::Shell, guess_syntax()); - unsafe { - env::set_var("SHELL", ""); - } - assert_eq!(OutputFmt::Unknown, guess_syntax()); - unsafe { - env::remove_var("SHELL"); - } - assert_eq!(OutputFmt::Unknown, guess_syntax()); - - if let Ok(s) = last { - unsafe { - env::set_var("SHELL", s); - } - } -} - #[test] fn test_str_utils() { let s = " asd#zcv #hk\t\n ";