Skip to content

test: assert line numbers of evaluated source - #6169

Merged
henryiii merged 2 commits into
pybind:masterfrom
espressolee:test-eval-line-numbers
Sep 23, 2026
Merged

henryiii merged 2 commits into
pybind:masterfrom
espressolee:test-eval-line-numbers

Conversation

@espressolee

Copy link
Copy Markdown
Contributor

Description

Adds regression coverage for #6089: a SyntaxError and an exception traceback originating on line 2 of evaluated source must both report line 2.

Checked with pybind11's own test target (PYBIND11_TEST_OVERRIDE=test_eval.cpp, CPython 3.12.13, macOS arm64, Apple clang 21): test_eval passes at current master, and with eval.h from f00aa6fe (the parent of #6089) only the new test fails, reporting (3, 3).

espressolee and others added 2 commits September 4, 2026 00:38
pybind#6089 dropped the coding cookie prepended to py::eval/py::exec source,
which had shifted reported SyntaxError and traceback line numbers by one,
and noted that no test asserted on them. Add one: errors on line 2 of the
evaluated source must report line 2. With pybind11's own test target the
new test reports (3, 3) against the parent of pybind#6089 and (2, 2) with the fix.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@henryiii
henryiii merged commit bf21a6d into pybind:master Sep 23, 2026
78 checks passed
@github-actions github-actions Bot added the needs changelog Possibly needs a changelog entry label Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs changelog Possibly needs a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants