From e6b9ce99788864c0a30e40e692f67c8328675413 Mon Sep 17 00:00:00 2001 From: SabrinaJewson Date: Tue, 15 Apr 2025 13:24:46 +0100 Subject: [PATCH] Respect NO_COLOR and CLICOLOR_FORCE in libtest --- library/test/src/cli.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/library/test/src/cli.rs b/library/test/src/cli.rs index ef6786f431670..58b19ed1aefaf 100644 --- a/library/test/src/cli.rs +++ b/library/test/src/cli.rs @@ -35,7 +35,11 @@ pub struct TestOpts { impl TestOpts { pub fn use_color(&self) -> bool { + // Implement the algorithm as described in https://bixense.com/clicolors/. We don't need to + // check CLICOLOR because it's the default anyway. match self.color { + ColorConfig::AutoColor if env::var_os("NO_COLOR").is_some() => false, + ColorConfig::AutoColor if env::var_os("CLICOLOR_FORCE").is_some() => true, ColorConfig::AutoColor => !self.nocapture && io::stdout().is_terminal(), ColorConfig::AlwaysColor => true, ColorConfig::NeverColor => false,