Skip to content

PEP-657 enhanced error locations in pytest tracebacks #10224

Open

Description

@davidszotten

Hi. Are there any plans to support PEP-657 style enhanced tracebacks when on py 3.11? with some pointers i'd be happy to look at implemetation

Activity

  1. nicoddemus commented on Aug 16, 2022

    @nicoddemus
    Member

    Hi @davidszotten,

    There's #10209 open to at least fall back to native traceback printing temporarily, #9159 tracks the full support.

  2. davidszotten commented on Aug 16, 2022

    @davidszotten
    ContributorAuthor

    hi @nicoddemus , thanks for the quick reply. just to be clear, i'm talking about

    https://docs.python.org/3.11/whatsnew/3.11.html#enhanced-error-locations-in-tracebacks

    Traceback (most recent call last):
      File "distance.py", line 11, in <module>
        print(manhattan_distance(p1, p2))
              ^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "distance.py", line 6, in manhattan_distance
        return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y)
                               ^^^^^^^^^
    AttributeError: 'NoneType' object has no attribute 'x'
    

    not exception groups. or are the two tied together?

  3. nicoddemus commented on Aug 16, 2022

    @nicoddemus
    Member

    🤦 Sorry indeed they are not related, sorry for the confusion.

    I don't think we have any plans regarding that (a quick search did not turn out much), but this is something we should definitely look into.

  4. nicoddemus commented on Aug 16, 2022

    @nicoddemus
    Member

    Btw you asked for pointers: the traceback printing code starts in ExceptionRepr.toterminal, it should be possible to figure out/understand the code from there.

  5. changed the title [-]PEP-657 enhanced tracebacks[/-] [+]PEP-657 enhanced error locations in Pytest tracebacks[/+] on Aug 17, 2022
  6. added
    type: enhancementnew feature or API change, should be merged into features branch
    topic: tracebacksrelated to displaying and handling of tracebacks
    on Aug 17, 2022
  7. Zac-HD commented on Aug 17, 2022

    @Zac-HD
    Member

    You can of course get the native representation with pytest --tb=native, but it would indeed be good to support the more precise locations in long, short, and auto modes too 🙂

  8. changed the title [-]PEP-657 enhanced error locations in Pytest tracebacks[/-] [+]PEP-657 enhanced error locations in pytest tracebacks[/+] on Aug 17, 2022
  9. ammaraskar commented on Jan 4, 2025

    @ammaraskar
    Contributor

    Made a draft pull request with a proof of concept implementation #13102

    There's a few issues that need to be ironed out that I pointed out in there if anyone feels like driving it to completion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: help wanteddevelopers would like help from experts on this topictopic: tracebacksrelated to displaying and handling of tracebackstype: enhancementnew feature or API change, should be merged into features branch

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions