gh-129061: Fix FORCE_COLOR and NO_COLOR when empty strings (#129140)

This commit is contained in:
Hugo van Kemenade 2025-01-27 16:24:10 +02:00 committed by GitHub
parent d6f010dead
commit 9546fe2ef2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 2 deletions

View file

@ -42,11 +42,11 @@ def can_colorize(*, file=None) -> bool:
return False
if os.environ.get("PYTHON_COLORS") == "1":
return True
if "NO_COLOR" in os.environ:
if os.environ.get("NO_COLOR"):
return False
if not COLORIZE:
return False
if "FORCE_COLOR" in os.environ:
if os.environ.get("FORCE_COLOR"):
return True
if os.environ.get("TERM") == "dumb":
return False

View file

@ -44,8 +44,10 @@ def check(env, fallback, expected):
check({'TERM': ''}, fallback, fallback)
check({'FORCE_COLOR': '1'}, fallback, True)
check({'FORCE_COLOR': '0'}, fallback, True)
check({'FORCE_COLOR': ''}, fallback, fallback)
check({'NO_COLOR': '1'}, fallback, False)
check({'NO_COLOR': '0'}, fallback, False)
check({'NO_COLOR': ''}, fallback, fallback)
check({'TERM': 'dumb', 'FORCE_COLOR': '1'}, False, True)
check({'FORCE_COLOR': '1', 'NO_COLOR': '1'}, True, False)

View file

@ -0,0 +1 @@
Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo van Kemenade.