Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
gh-106368: Add test for Argument Clinic misbehaving custom converter_…
…init() (GH-107496)

(cherry picked from commit 2c5d206)

Co-authored-by: Erlend E. Aasland <erlend@python.org>
  • Loading branch information
erlend-aasland authored and miss-islington committed Jul 31, 2023
commit 6170bdabec156c94f1e41c28452b801b2727ae3c
20 changes: 20 additions & 0 deletions Lib/test/test_clinic.py
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,26 @@ def test_unknown_destination_command(self):
msg = "unknown destination command 'nosuchcommand'"
self.assertIn(msg, out)

def test_no_access_to_members_in_converter_init(self):
out = self.expect_failure("""
/*[python input]
class Custom_converter(CConverter):
converter = "some_c_function"
def converter_init(self):
self.function.noaccess
[python start generated code]*/
/*[clinic input]
module test
test.fn
a: Custom
[clinic start generated code]*/
""")
msg = (
"Stepped on a land mine, trying to access attribute 'noaccess':\n"
"Don't access members of self.function inside converter_init!"
)
self.assertIn(msg, out)


class ClinicGroupPermuterTest(TestCase):
def _test(self, l, m, r, output):
Expand Down