Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37858224
en ru br
Репозитории ALT

Группа :: Разработка/Python
Пакет: python3-module-pytest-shutil

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: Fix-forcing-color-through-termcolor.patch
Скачать


From 15b0e9d01a7b7c35c959a01ce3c7bd416ad8b953 Mon Sep 17 00:00:00 2001
From: Mikel Olasagasti Uranga <mikel@olasagasti.info>
Date: Sat, 13 May 2023 13:09:04 +0200
Subject: [PATCH] Fix forcing color through termcolor
Since termcolor 2.1.0, the library will now detect whether or not the
process is running a TTY and disable outputting color if so. This broke
using the `--color` argument to force color when piping to another
process (e.g. `less`), as well as our pytest function for checking
rendered output.
The fix is ensuring that we set the environment variable FORCE_COLOR in
the cases where we want color, and might not have a TTY (e.g. in the
pytest, or when using `--color` option).
---
 pytest-shutil/pytest_shutil/cmdline.py   | 2 ++
 pytest-shutil/tests/unit/test_cmdline.py | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/pytest-shutil/pytest_shutil/cmdline.py b/pytest-shutil/pytest_shutil/cmdline.py
index 4e878a9..9716358 100644
--- a/pytest-shutil/pytest_shutil/cmdline.py
+++ b/pytest-shutil/pytest_shutil/cmdline.py
@@ -52,6 +52,8 @@ def chdir(dirname):
 class PrettyFormatter(object):
     def __init__(self, color=True):
         from termcolor import colored
+        if color is False:
+            os.environ["FORCE_COLOR"] = "true"
         self.color = color
         self.colored = colored
         self.buffer = []
diff --git a/pytest-shutil/tests/unit/test_cmdline.py b/pytest-shutil/tests/unit/test_cmdline.py
index b29ccb9..299b770 100644
--- a/pytest-shutil/tests/unit/test_cmdline.py
+++ b/pytest-shutil/tests/unit/test_cmdline.py
@@ -10,7 +10,8 @@ def test_umask(workspace):
         f.touch()
     assert (f.stat().st_mode & 0o777) == 0o464
 
-def test_pretty_formatter():
+def test_pretty_formatter(monkeypatch):
+    monkeypatch.setenv("FORCE_COLOR", "1")
     f = cmdline.PrettyFormatter()
     f.title('A Title')
     f.hr()
-- 
2.33.8
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin