Summary: | Нет проверки на наличие стилей шрифтов: функция self.query неверно распознаёт стили (pygame) | ||||||
---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Tatyana Gagina <tatyana> | ||||
Component: | python3-module-pygame | Assignee: | Grigory Ustinov <grenka> | ||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||
Severity: | normal | ||||||
Priority: | P5 | CC: | grenka, lav | ||||
Version: | unstable | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Attachments: |
|
Created attachment 16371 [details] error.log Стенды, обновлённые до Sisyphus: ALT Workstation K x86-64 ALT Workstation x86-64 ALT Education KDE/XFCE x86-64 Версия: python3-module-pygame-2.5.2-alt1 Шаги: 1. Установить пакет: # apt-get install -y python3-module-pygame 2. Запустить тест ftfont_test.py в графической сессии:: # cd /usr/lib64/python3/site-packages/pygame/tests/ && python3 ./ftfont_test.py 3. Проверить открытие окон с шрифтами, после закрывать каждое. Результат: по завершению теста ошибка (полный вывод во вложении error.log): FAIL: test_underline (__main__.FtVisualTests.test_underline) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib64/python3/site-packages/pygame/tests/font_test.py", line 728, in test_underline self.assertTrue(self.query(underline=True)) AssertionError: False is not true ---------------------------------------------------------------------- Ran 56 tests in 28.930s FAILED (failures=6) Детали: в содержимом самого файла /usr/lib64/python3/site-packages/pygame/tests/ftfont_test.py нет функции для проверки на наличие курсива/другого стиля: import sys import os import unittest from pygame.tests import font_test import pygame.ftfont font_test.pygame_font = pygame.ftfont for name in dir(font_test): obj = getattr(font_test, name) if isinstance(obj, type) and issubclass(obj, unittest.TestCase): # conditional and new_name = f"Ft{name}" globals()[new_name] = type(new_name, (obj,), {}) if __name__ == "__main__": Workaroud (как вариант): def query(self, italic=False, bold=False): # поддерживает ли шрифт заданный стиль if italic: return self.font.get_italic() == True # проверка включен ли курсив Однако и по остальным шрифтам тоже нет подобных проверок, что и вызывает данную ошибку (см. в том же вложении error.log) FAIL: test_underline test_italic_underline test_italic test_bold_antialiase test_bold test_antialiase Проверялось на p10, ошибка воспроизводится. Версия: python3-module-pygame-2.0.1-alt1