release-2.8.3.rst

Overview

This file is the release notes documentation for **pytest version 2.8.3**, a mature Python testing framework. It summarizes the key bug fixes, enhancements, and contributions included in this patch release, which is intended to be fully compatible with the previous version 2.8.2. The document serves as an important reference for users upgrading pytest, highlighting critical fixes and improvements that affect test collection, reporting, and usability.

The primary goal of this file is to inform developers and users about changes that may impact their testing workflows, ensuring smooth transitions between versions without unexpected disruptions.

Details of Contents

Release Title and Introduction

Change Log (2.8.3 compared to 2.8.2)

The change log is a bullet list describing bug fixes and enhancements:

  1. Fix #1169:
    Added __name__ attribute to test cases in TestCaseFunction to support the @unittest.skip decorator on functions and methods.
    Contributor: Lee Kamentsky

  2. Fix #1035:
    Improved test collection when the test module-level object has a __getattr__() method.
    Contributors: Suor (report), Bruno Oliveira, Tom Viner (PR)

  3. Fix #331:
    Prevented collection of tests whose failures cannot be reported correctly, such as callable instances of classes.

  4. Fix #1133:
    Resolved an internal error in traceback filtering when an entry belongs to a file that no longer exists.
    Contributor: Bruno Oliveira

  5. Enhancement:
    Test failure output now highlights failing test names in red to improve visibility.
    Contributor: Gabriel Reis

  6. Documentation updates:

    • Added more talks to documentation.

    • Extended documentation on the --ignore CLI option.

  7. Build system update:
    Integrated pytest-runner for setuptools integration.

  8. Compatibility fix:
    Minor fixes for OS X El Capitan system integrity protection issues.
    Contributor: Florian

Important Implementation Details

Interaction with Other System Components

Usage Examples

Since this file is a changelog, direct usage examples are not applicable. However, users upgrading to pytest 2.8.3 can expect:

Mermaid Class Diagram

This file is a changelog and contains no classes or functions. Therefore, a class diagram is not applicable here.

Instead, a flowchart illustrating the relationship between the major changes and pytest subsystems impacted is provided below:

flowchart TD
    A[pytest 2.8.3 Release] --> B[Test Collection]
    A --> C[Test Execution & Reporting]
    A --> D[Build & Packaging]
    A --> E[Documentation]
    A --> F[Platform Compatibility]

    B --> B1[Fix __getattr__ test collection (#1035)]
    B --> B2[Skip callable instances (#331)]
    B --> B3[Add __name__ to TestCaseFunction (#1169)]

    C --> C1[Traceback filtering fix (#1133)]
    C --> C2[Highlight failing test names]

    D --> D1[Add pytest-runner for setuptools]

    E --> E1[Add talks & extend --ignore docs]

    F --> F1[Fix OS X El Capitan SIP issues]

This diagram summarizes how the release impacts different components of the pytest system.


**Summary**: The [release-2.8.3.rst](/projects/286/66986) file documents incremental improvements and important bug fixes in pytest version 2.8.3, focusing on test collection robustness, better unittest integration, improved error reporting, and platform compatibility. It guides users through the changes with clear descriptions and acknowledges community contributions, ensuring transparency and ease of adoption for this patch release.