mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00
gh-106368: Argument Clinic: Add tests for cloned functions with custom C base names (#107977)
This commit is contained in:
parent
99b6ce56f8
commit
bb456a08a3
1 changed files with 31 additions and 0 deletions
|
@ -653,6 +653,37 @@ class ClinicWholeFileTest(TestCase):
|
|||
err = "No C basename provided after 'as' keyword"
|
||||
self.expect_failure(block, err, lineno=5)
|
||||
|
||||
def test_cloned_with_custom_c_basename(self):
|
||||
raw = dedent("""
|
||||
/*[clinic input]
|
||||
# Make sure we don't create spurious clinic/ directories.
|
||||
output everything suppress
|
||||
foo2
|
||||
[clinic start generated code]*/
|
||||
|
||||
/*[clinic input]
|
||||
foo as foo1 = foo2
|
||||
[clinic start generated code]*/
|
||||
""")
|
||||
self.clinic.parse(raw)
|
||||
funcs = self.clinic.functions
|
||||
self.assertEqual(len(funcs), 2)
|
||||
self.assertEqual(funcs[1].name, "foo")
|
||||
self.assertEqual(funcs[1].c_basename, "foo1")
|
||||
|
||||
def test_cloned_with_illegal_c_basename(self):
|
||||
block = """
|
||||
/*[clinic input]
|
||||
class C "void *" ""
|
||||
foo1
|
||||
[clinic start generated code]*/
|
||||
|
||||
/*[clinic input]
|
||||
foo2 as .illegal. = foo1
|
||||
[clinic start generated code]*/
|
||||
"""
|
||||
err = "Illegal C basename: '.illegal. = foo1'"
|
||||
self.expect_failure(block, err, lineno=7)
|
||||
|
||||
|
||||
class ParseFileUnitTest(TestCase):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue