diff options
author | Alex Waygood <Alex.Waygood@Gmail.com> | 2023-08-06 19:40:55 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-06 19:40:55 (GMT) |
commit | ee3bf45e5e253d393f8553e58715c31e470800cd (patch) | |
tree | 22291feb82beed84dde4853d569382d1fa3cbd30 /Tools/clinic | |
parent | 9564e31cbc95a723f2414537231bc4611b56644f (diff) | |
download | cpython-ee3bf45e5e253d393f8553e58715c31e470800cd.zip cpython-ee3bf45e5e253d393f8553e58715c31e470800cd.tar.gz cpython-ee3bf45e5e253d393f8553e58715c31e470800cd.tar.bz2 |
gh-106368: Improve coverage reports for argument clinic (#107693)
Diffstat (limited to 'Tools/clinic')
-rwxr-xr-x | Tools/clinic/clinic.py | 11 | ||||
-rw-r--r-- | Tools/clinic/cpp.py | 10 |
2 files changed, 15 insertions, 6 deletions
diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index 423cdfb..47b5f5a 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -469,7 +469,7 @@ class Language(metaclass=abc.ABCMeta): checksum_line = "" def __init__(self, filename: str) -> None: - pass + ... @abc.abstractmethod def render( @@ -477,10 +477,10 @@ class Language(metaclass=abc.ABCMeta): clinic: Clinic | None, signatures: Iterable[Module | Class | Function] ) -> str: - pass + ... def parse_line(self, line: str) -> None: - pass + ... def validate(self) -> None: def assert_only_one( @@ -2862,6 +2862,9 @@ class CConverter(metaclass=CConverterAutoRegister): f"Note: accessing self.function inside converter_init is disallowed!" ) return super().__getattr__(attr) + # this branch is just here for coverage reporting + else: # pragma: no cover + pass def converter_init(self) -> None: pass @@ -3990,7 +3993,7 @@ def correct_name_for_self( return "void *", "null" if f.kind in (CLASS_METHOD, METHOD_NEW): return "PyTypeObject *", "type" - raise RuntimeError("Unhandled type of function f: " + repr(f.kind)) + raise AssertionError(f"Unhandled type of function f: {f.kind!r}") def required_type_for_self_for_parser( f: Function diff --git a/Tools/clinic/cpp.py b/Tools/clinic/cpp.py index 8761051..3d9c61a 100644 --- a/Tools/clinic/cpp.py +++ b/Tools/clinic/cpp.py @@ -178,11 +178,17 @@ class Monitor: if self.verbose: print(self.status()) -if __name__ == '__main__': - for filename in sys.argv[1:]: + +def _main(filenames: list[str] | None = None) -> None: + filenames = filenames or sys.argv[1:] + for filename in filenames: with open(filename) as f: cpp = Monitor(filename, verbose=True) print() print(filename) for line_number, line in enumerate(f.read().split('\n'), 1): cpp.writeline(line) + + +if __name__ == '__main__': + _main() |