]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Revert "gh-127353: Allow to force color output on Windows (#127354)" (#127889)
authorHugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Thu, 12 Dec 2024 21:11:20 +0000 (23:11 +0200)
committerGitHub <noreply@github.com>
Thu, 12 Dec 2024 21:11:20 +0000 (21:11 +0000)
This reverts commit 365451e28368db46ae89a3a990d85c10c2284aa2.

Lib/_colorize.py
Lib/test/test__colorize.py
Misc/NEWS.d/next/Windows/2024-11-28-15-55-48.gh-issue-127353.i-XOXg.rst [deleted file]

index 709081e25ec59bf80273f6a91daafcefeac7229b..845fb57a90abb8e1e464ff09e97111eba0921c79 100644 (file)
@@ -32,6 +32,14 @@ def get_colors(colorize: bool = False) -> ANSIColors:
 
 
 def can_colorize() -> bool:
+    if sys.platform == "win32":
+        try:
+            import nt
+
+            if not nt._supports_virtual_terminal():
+                return False
+        except (ImportError, AttributeError):
+            return False
     if not sys.flags.ignore_environment:
         if os.environ.get("PYTHON_COLORS") == "0":
             return False
@@ -50,15 +58,6 @@ def can_colorize() -> bool:
     if not hasattr(sys.stderr, "fileno"):
         return False
 
-    if sys.platform == "win32":
-        try:
-            import nt
-
-            if not nt._supports_virtual_terminal():
-                return False
-        except (ImportError, AttributeError):
-            return False
-
     try:
         return os.isatty(sys.stderr.fileno())
     except io.UnsupportedOperation:
index 7a65d63f49eed77e9121b082c0355ec0dbdcb576..d55b97ade68ceff9ff93b091df22c3c9a3b93210 100644 (file)
@@ -50,47 +50,10 @@ class TestColorizeFunction(unittest.TestCase):
                 with unittest.mock.patch("os.environ",
                                          {'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
                     self.assertEqual(_colorize.can_colorize(), False)
-                with unittest.mock.patch("os.environ", {}):
-                    self.assertEqual(_colorize.can_colorize(), True)
-
                 isatty_mock.return_value = False
                 with unittest.mock.patch("os.environ", {}):
                     self.assertEqual(_colorize.can_colorize(), False)
 
-    @force_not_colorized
-    @unittest.skipUnless(sys.platform == "win32", "Windows only")
-    def test_colorized_detection_checks_for_environment_variables_no_vt(self):
-        with (unittest.mock.patch("nt._supports_virtual_terminal", return_value=False),
-              unittest.mock.patch("os.isatty") as isatty_mock,
-              unittest.mock.patch("sys.flags", unittest.mock.MagicMock(ignore_environment=False)),
-              unittest.mock.patch("_colorize.can_colorize", ORIGINAL_CAN_COLORIZE)):
-            isatty_mock.return_value = True
-            with unittest.mock.patch("os.environ", {'TERM': 'dumb'}):
-                self.assertEqual(_colorize.can_colorize(), False)
-            with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '1'}):
-                self.assertEqual(_colorize.can_colorize(), True)
-            with unittest.mock.patch("os.environ", {'PYTHON_COLORS': '0'}):
-                self.assertEqual(_colorize.can_colorize(), False)
-            with unittest.mock.patch("os.environ", {'NO_COLOR': '1'}):
-                self.assertEqual(_colorize.can_colorize(), False)
-            with unittest.mock.patch("os.environ",
-                                     {'NO_COLOR': '1', "PYTHON_COLORS": '1'}):
-                self.assertEqual(_colorize.can_colorize(), True)
-            with unittest.mock.patch("os.environ", {'FORCE_COLOR': '1'}):
-                self.assertEqual(_colorize.can_colorize(), True)
-            with unittest.mock.patch("os.environ",
-                                     {'FORCE_COLOR': '1', 'NO_COLOR': '1'}):
-                self.assertEqual(_colorize.can_colorize(), False)
-            with unittest.mock.patch("os.environ",
-                                     {'FORCE_COLOR': '1', "PYTHON_COLORS": '0'}):
-                self.assertEqual(_colorize.can_colorize(), False)
-            with unittest.mock.patch("os.environ", {}):
-                self.assertEqual(_colorize.can_colorize(), False)
-
-            isatty_mock.return_value = False
-            with unittest.mock.patch("os.environ", {}):
-                self.assertEqual(_colorize.can_colorize(), False)
-
 
 if __name__ == "__main__":
     unittest.main()
diff --git a/Misc/NEWS.d/next/Windows/2024-11-28-15-55-48.gh-issue-127353.i-XOXg.rst b/Misc/NEWS.d/next/Windows/2024-11-28-15-55-48.gh-issue-127353.i-XOXg.rst
deleted file mode 100644 (file)
index 88661b9..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-Allow to force color output on Windows using environment variables. Patch by
-Andrey Efremov.