Upstream update available: python3-pytest 8.4.1 → 9.0.3 #1

Open
opened 2026-04-28 02:01:41 +03:00 by sbelikov · 0 comments
Owner

Upstream update available: python3-pytest 8.4.19.0.3

Package

  • Package: python3-pytest
  • RPM name: python3-pytest
  • Branch: niceos-5.2
  • Current EVR: 8.4.1-1
  • Update class: major
  • Compare method: python_rpm
  • Update policy: leaf
  • Risk tags: github-upstream

Upstream

Signals

  • Security-relevant keywords detected: True
  • Policy blocked: False
  • Policy reason: -
  • Labels: ai-summary, bot, needs-build, needs-triage, priority/high, security-release, update/major, upstream-update, upstream/github

NiceSOFT AI preliminary analysis

1. Краткий вывод

Upstream-релиз pytest 9.0.3 содержит исправление уязвимости безопасности (CVE-2025-71176), связанное с использованием небезопасного временного каталога, а также ряд изменений в поведении обработки исключений и плагинов. Обновление классифицируется как major, что подразумевает потенциальные изменения в API или поведении, требующие проверки совместимости.

2. Риск для НАЙС.ОС

medium. Наличие исправления критической уязвимости безопасности (CVE) требует обязательного обновления для защиты системы. Однако статус major указывает на возможные изменения в поведении библиотеки (например, запрет на блокировку conftest.py через -p или изменения в обработке subTest), которые могут повлиять на существующие тестовые сценарии пользователей дистрибутива.

3. Security/CVE

Во входных данных зафиксирована ссылка на уязвимость: CVE-2025-71176. Она связана с использованием небезопасного временного каталога (Fixed use of insecure temporary directory). Это подтверждается явным упоминанием CVE в разделе "Bug fixes" релиз-нотов.

4. ABI/API риск

В релиз-нотах указаны изменения, влияющие на поведение библиотеки:

  • Блокировка использования опции -p no: для файлов conftest.py (ранее вызывала внутреннее падение, теперь выдает UsageError).
  • Изменения в обработке сообщений unittest.TestCase.subTest() (не строковые сообщения теперь не печатаются).
  • Изменения в порядке выполнения хуков (pytest_collection устанавливает session.items до вызова pytest_collection_finish).
    Поскольку pytest является инструментом тестирования, а не системной библиотекой с жестким ABI, прямой бинарный конфликт маловероятен, но возможны логические ошибки в тестах, зависящих от старого поведения. Точный масштаб изменений требует анализа кода или тестовых сборок.

5. Риск для RPM-сборки

Учитывая тег security_keywords_detected_by_script: True и наличие CVE, необходимо проверить:

  • Отсутствие конфликтов зависимостей при переходе с 8.4.1 на 9.0.3.
  • Корректность работы %check секции spec-файла (изменения в обработке исключений могут повлиять на прохождение внутренних тестов пакета).
  • Актуальность патчей, если они применяются для обхода старых уязвимостей (хотя здесь фикс идет в upstream).

6. Проверки мейнтейнера

  • Подтвердить наличие CVE-2025-71176 в базе данных уязвимостей (Red Hat, NVD) и проверить его критичность.
  • Провести локальную сборку пакета версии 9.0.3.
  • Запустить %check секцию сборки и убедиться, что внутренние тесты пакета проходят.
  • Проверить, не используются ли в дистрибутиве специфические фичи, которые были изменены (запрет -p no:, обработка subTest).
  • Убедиться, что python3-pytest не является критическим компонентом для запуска других системных сервисов (обычно это инструмент, а не библиотека).

7. Рекомендация

update candidate

8. Основание рекомендации

Наличие исправления критической уязвимости безопасности (CVE-2025-71176) делает обновление приоритетным. Несмотря на статус major, изменения в pytest обычно носят характер улучшения стабильности и безопасности, а не ломающих API. Рекомендуется создать кандидата на обновление, провести быструю проверку сборки и, при отсутствии критических сбоев в тестовой инфраструктуре, включить обновление в репозиторий. Автоматическое обновление не рекомендуется из-за статуса major и наличия security-critical пакета, требующего ручного подтверждения.

Upstream release notes / description

pytest 9.0.3 (2026-04-07)

Bug fixes

  • #12444: Fixed pytest.approx which now correctly takes into account ~collections.abc.Mapping keys order to compare them.

  • #13634: Blocking a conftest.py file using the -p no: option is now explicitly disallowed.

    Previously this resulted in an internal assertion failure during plugin loading.

    Pytest now raises a clear UsageError explaining that conftest files are not plugins and cannot be disabled via -p.

  • #13734: Fixed crash when a test raises an exceptiongroup with __tracebackhide__ = True.

  • #14195: Fixed an issue where non-string messages passed to unittest.TestCase.subTest() were not printed.

  • #14343: Fixed use of insecure temporary directory (CVE-2025-71176).

Improved documentation

  • #13388: Clarified documentation for -p vs PYTEST_PLUGINS plugin loading and fixed an incorrect -p example.
  • #13731: Clarified that capture fixtures (e.g. capsys and capfd) take precedence over the -s / --capture=no command-line options in Accessing captured output from a test function <accessing-captured-output>.
  • #14088: Clarified that the default pytest_collection hook sets session.items before it calls pytest_collection_finish, not after.
  • #14255: TOML integer log levels must be quoted: Updating reference documentation.

Contributor-facing changes

  • #12689: The test reports are now published to Codecov from GitHub Actions.
    The test statistics is visible on the web interface.

    -- by aleguy02

NiceOS maintainer checklist

  • Confirm that the detected version is a stable upstream release.
  • Check upstream changelog for security fixes, ABI/API changes and build-system changes.
  • Check ABI/API compatibility and reverse dependencies.
  • Download source into NiceOS lookaside storage.
  • Update Version and related fields in SPECS/*.spec only if policy allows it.
  • Regenerate SOURCES/sources.lock.json, manifests, metadata and SBOM.
  • Build SRPM/RPM in a clean NiceOS buildroot.
  • Run package smoke tests.
  • Link PR/build logs and close this issue after update or triage.

Bot metadata

  • Tool: niceos_upstream_monitor.py 1.4
  • Generated at: 2026-04-27T23:01:41Z
<!-- niceos-upstream-monitor:fingerprint=upstream-update:python3-pytest:9.0.3 --> <!-- niceos-upstream-monitor:package=python3-pytest --> <!-- niceos-upstream-monitor:current=8.4.1 --> <!-- niceos-upstream-monitor:latest=9.0.3 --> # Upstream update available: `python3-pytest` `8.4.1` → `9.0.3` ## Package - Package: `python3-pytest` - RPM name: `python3-pytest` - Branch: `niceos-5.2` - Current EVR: `8.4.1-1` - Update class: `major` - Compare method: `python_rpm` - Update policy: `leaf` - Risk tags: `github-upstream` ## Upstream - Upstream type: `github` - Upstream project: `pytest-dev/pytest` - Upstream URL: https://github.com/pytest-dev/pytest - Detected version: `9.0.3` - Tag/release: `9.0.3` - Source: `github_release_latest` - Published: `2026-04-07T17:16:45Z` - Release URL: https://github.com/pytest-dev/pytest/releases/tag/9.0.3 - Source URL: https://api.github.com/repos/pytest-dev/pytest/tarball/9.0.3 - Pre-release: `False` ## Signals - Security-relevant keywords detected: `True` - Policy blocked: `False` - Policy reason: `-` - Labels: `ai-summary, bot, needs-build, needs-triage, priority/high, security-release, update/major, upstream-update, upstream/github` ## NiceSOFT AI preliminary analysis ### 1. Краткий вывод Upstream-релиз pytest 9.0.3 содержит исправление уязвимости безопасности (CVE-2025-71176), связанное с использованием небезопасного временного каталога, а также ряд изменений в поведении обработки исключений и плагинов. Обновление классифицируется как major, что подразумевает потенциальные изменения в API или поведении, требующие проверки совместимости. ### 2. Риск для НАЙС.ОС **medium**. Наличие исправления критической уязвимости безопасности (CVE) требует обязательного обновления для защиты системы. Однако статус `major` указывает на возможные изменения в поведении библиотеки (например, запрет на блокировку `conftest.py` через `-p` или изменения в обработке `subTest`), которые могут повлиять на существующие тестовые сценарии пользователей дистрибутива. ### 3. Security/CVE Во входных данных зафиксирована ссылка на уязвимость: **CVE-2025-71176**. Она связана с использованием небезопасного временного каталога (`Fixed use of insecure temporary directory`). Это подтверждается явным упоминанием CVE в разделе "Bug fixes" релиз-нотов. ### 4. ABI/API риск В релиз-нотах указаны изменения, влияющие на поведение библиотеки: - Блокировка использования опции `-p no:` для файлов `conftest.py` (ранее вызывала внутреннее падение, теперь выдает `UsageError`). - Изменения в обработке сообщений `unittest.TestCase.subTest()` (не строковые сообщения теперь не печатаются). - Изменения в порядке выполнения хуков (`pytest_collection` устанавливает `session.items` до вызова `pytest_collection_finish`). Поскольку pytest является инструментом тестирования, а не системной библиотекой с жестким ABI, прямой бинарный конфликт маловероятен, но возможны логические ошибки в тестах, зависящих от старого поведения. Точный масштаб изменений требует анализа кода или тестовых сборок. ### 5. Риск для RPM-сборки Учитывая тег `security_keywords_detected_by_script: True` и наличие CVE, необходимо проверить: - Отсутствие конфликтов зависимостей при переходе с 8.4.1 на 9.0.3. - Корректность работы `%check` секции spec-файла (изменения в обработке исключений могут повлиять на прохождение внутренних тестов пакета). - Актуальность патчей, если они применяются для обхода старых уязвимостей (хотя здесь фикс идет в upstream). ### 6. Проверки мейнтейнера - [ ] Подтвердить наличие CVE-2025-71176 в базе данных уязвимостей (Red Hat, NVD) и проверить его критичность. - [ ] Провести локальную сборку пакета версии 9.0.3. - [ ] Запустить `%check` секцию сборки и убедиться, что внутренние тесты пакета проходят. - [ ] Проверить, не используются ли в дистрибутиве специфические фичи, которые были изменены (запрет `-p no:`, обработка `subTest`). - [ ] Убедиться, что `python3-pytest` не является критическим компонентом для запуска других системных сервисов (обычно это инструмент, а не библиотека). ### 7. Рекомендация **update candidate** ### 8. Основание рекомендации Наличие исправления критической уязвимости безопасности (CVE-2025-71176) делает обновление приоритетным. Несмотря на статус `major`, изменения в pytest обычно носят характер улучшения стабильности и безопасности, а не ломающих API. Рекомендуется создать кандидата на обновление, провести быструю проверку сборки и, при отсутствии критических сбоев в тестовой инфраструктуре, включить обновление в репозиторий. Автоматическое обновление не рекомендуется из-за статуса `major` и наличия security-critical пакета, требующего ручного подтверждения. ## Upstream release notes / description # pytest 9.0.3 (2026-04-07) ## Bug fixes - [\#12444](https://github.com/pytest-dev/pytest/issues/12444): Fixed `pytest.approx` which now correctly takes into account `~collections.abc.Mapping` keys order to compare them. - [\#13634](https://github.com/pytest-dev/pytest/issues/13634): Blocking a `conftest.py` file using the `-p no:` option is now explicitly disallowed. Previously this resulted in an internal assertion failure during plugin loading. Pytest now raises a clear `UsageError` explaining that conftest files are not plugins and cannot be disabled via `-p`. - [\#13734](https://github.com/pytest-dev/pytest/issues/13734): Fixed crash when a test raises an exceptiongroup with `__tracebackhide__ = True`. - [\#14195](https://github.com/pytest-dev/pytest/issues/14195): Fixed an issue where non-string messages passed to <span class="title-ref">unittest.TestCase.subTest()</span> were not printed. - [\#14343](https://github.com/pytest-dev/pytest/issues/14343): Fixed use of insecure temporary directory (CVE-2025-71176). ## Improved documentation - [\#13388](https://github.com/pytest-dev/pytest/issues/13388): Clarified documentation for `-p` vs `PYTEST_PLUGINS` plugin loading and fixed an incorrect `-p` example. - [\#13731](https://github.com/pytest-dev/pytest/issues/13731): Clarified that capture fixtures (e.g. `capsys` and `capfd`) take precedence over the `-s` / `--capture=no` command-line options in `Accessing captured output from a test function <accessing-captured-output>`. - [\#14088](https://github.com/pytest-dev/pytest/issues/14088): Clarified that the default `pytest_collection` hook sets `session.items` before it calls `pytest_collection_finish`, not after. - [\#14255](https://github.com/pytest-dev/pytest/issues/14255): TOML integer log levels must be quoted: Updating reference documentation. ## Contributor-facing changes - [\#12689](https://github.com/pytest-dev/pytest/issues/12689): The test reports are now published to Codecov from GitHub Actions. The test statistics is visible [on the web interface](https://app.codecov.io/gh/pytest-dev/pytest/tests). -- by `aleguy02` ## NiceOS maintainer checklist - [ ] Confirm that the detected version is a stable upstream release. - [ ] Check upstream changelog for security fixes, ABI/API changes and build-system changes. - [ ] Check ABI/API compatibility and reverse dependencies. - [ ] Download source into NiceOS lookaside storage. - [ ] Update `Version` and related fields in `SPECS/*.spec` only if policy allows it. - [ ] Regenerate `SOURCES/sources.lock.json`, manifests, metadata and SBOM. - [ ] Build SRPM/RPM in a clean NiceOS buildroot. - [ ] Run package smoke tests. - [ ] Link PR/build logs and close this issue after update or triage. ## Bot metadata - Tool: `niceos_upstream_monitor.py 1.4` - Generated at: `2026-04-27T23:01:41Z`
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rpms/python3-pytest#1
No description provided.