color: type SetDefaultColoring and drop bool states

Also add a test fixture to always disable coloring so that we get
reproducible test behavior. The few tests that want to check color
behavior (e.g. test_color.py) can still reset/change color values as
needed.

Change-Id: I1808139a63e0862c29bf81d7097e885ca8561040
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/573621
Reviewed-by: Gavin Mak <gavinmak@google.com>
Reviewed-by: Mike Frysinger <vapier@google.com>
Commit-Queue: Nasser Grainawi <nasser.grainawi@oss.qualcomm.com>
Tested-by: Nasser Grainawi <nasser.grainawi@oss.qualcomm.com>
diff --git a/color.py b/color.py
index 9d0ce7c..03fb655 100644
--- a/color.py
+++ b/color.py
@@ -14,6 +14,7 @@
 
 import os
 import sys
+from typing import Optional
 
 import pager
 
@@ -84,7 +85,7 @@
 DEFAULT = None
 
 
-def SetDefaultColoring(state):
+def SetDefaultColoring(state: Optional[str]) -> None:
     """Set coloring behavior to |state|.
 
     This is useful for overriding config options via the command line.
@@ -97,9 +98,9 @@
     state = state.lower()
     if state in ("auto",):
         DEFAULT = state
-    elif state in ("always", "yes", "true", True):
+    elif state in ("always", "yes", "true"):
         DEFAULT = "always"
-    elif state in ("never", "no", "false", False):
+    elif state in ("never", "no", "false"):
         DEFAULT = "never"
 
 
diff --git a/tests/conftest.py b/tests/conftest.py
index a13edd7..ce3c3d6 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -18,6 +18,7 @@
 
 import pytest
 
+import color
 import platform_utils
 import repo_trace
 
@@ -28,6 +29,16 @@
     repo_trace._TRACE_FILE = str(tmp_path / "TRACE_FILE_from_test")
 
 
+@pytest.fixture(autouse=True)
+def restore_default_coloring() -> None:
+    """Force disable color for reproducible test behavior.
+
+    The few tests that cover color behavior can still reset/change the color as
+    needed.
+    """
+    color.SetDefaultColoring("never")
+
+
 # adapted from pytest-home 0.5.1
 def _set_home(monkeypatch, path: pathlib.Path):
     """