Skip to content

Commit

Permalink
pythongh-113317: Argument Clinic: Add libclinic.clanguage (python#117455
Browse files Browse the repository at this point in the history
)

Add libclinic.clanguage module and move the following classes and
functions there:

* CLanguage
* declare_parser()

Add libclinic.codegen and move the following classes there:

* BlockPrinter
* BufferSeries
* Destination

Move the following functions to libclinic.function:

* permute_left_option_groups()
* permute_optional_groups()
* permute_right_option_groups()
  • Loading branch information
vstinner authored Apr 3, 2024
1 parent 1c43468 commit c43f6a4
Show file tree
Hide file tree
Showing 5 changed files with 1,635 additions and 1,602 deletions.
13 changes: 8 additions & 5 deletions Lib/test/test_clinic.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,9 @@
with test_tools.imports_under_tool('clinic'):
import libclinic
from libclinic.converters import int_converter, str_converter
from libclinic.function import (
permute_optional_groups, permute_right_option_groups,
permute_left_option_groups)
import clinic
from clinic import DSLParser

Expand Down Expand Up @@ -679,7 +682,7 @@ def test_parse_file_strange_extension(self) -> None:

class ClinicGroupPermuterTest(TestCase):
def _test(self, l, m, r, output):
computed = clinic.permute_optional_groups(l, m, r)
computed = permute_optional_groups(l, m, r)
self.assertEqual(output, computed)

def test_range(self):
Expand Down Expand Up @@ -721,7 +724,7 @@ def test_right_only(self):

def test_have_left_options_but_required_is_empty(self):
def fn():
clinic.permute_optional_groups(['a'], [], [])
permute_optional_groups(['a'], [], [])
self.assertRaises(ValueError, fn)


Expand Down Expand Up @@ -3764,7 +3767,7 @@ def test_permute_left_option_groups(self):
(1, 2, 3),
)
data = list(zip([1, 2, 3])) # Generate a list of 1-tuples.
actual = tuple(clinic.permute_left_option_groups(data))
actual = tuple(permute_left_option_groups(data))
self.assertEqual(actual, expected)

def test_permute_right_option_groups(self):
Expand All @@ -3775,7 +3778,7 @@ def test_permute_right_option_groups(self):
(1, 2, 3),
)
data = list(zip([1, 2, 3])) # Generate a list of 1-tuples.
actual = tuple(clinic.permute_right_option_groups(data))
actual = tuple(permute_right_option_groups(data))
self.assertEqual(actual, expected)

def test_permute_optional_groups(self):
Expand Down Expand Up @@ -3854,7 +3857,7 @@ def test_permute_optional_groups(self):
for params in dataset:
with self.subTest(**params):
left, required, right, expected = params.values()
permutations = clinic.permute_optional_groups(left, required, right)
permutations = permute_optional_groups(left, required, right)
actual = tuple(permutations)
self.assertEqual(actual, expected)

Expand Down
Loading

0 comments on commit c43f6a4

Please sign in to comment.