GeezerVison is showing github.com — Improve `test_inspect` · Issue #103553 · python/cpython
Improve test_inspect #103553DescriptionWhile working on #103406 I've noticed that there are some problems with test_inspect that we can easily fix.
List of problems I found:
|
f3 = self.makeCallable('**c') |
|
self.assertEqualException(f3, '1, 2') |
|
self.assertEqualException(f3, '1, 2, a=1, b=2') |
|
f4 = self.makeCallable('*, a, b=0') |
|
self.assertEqualException(f3, '1, 2') |
|
self.assertEqualException(f3, '1, 2, a=1, b=2') |
Here f4 is not ever used, but f3 has duplicate asserts. It looks like a copy-paste error to me. I propose to add asserts for f4 as well
|
# XXX: Python inconsistency |
|
# - for functions and bound methods: unexpected keyword 'c' |
|
# - for unbound methods: multiple values for keyword 'a' |
|
#self.assertEqualException(f, '1, c=3, a=2') |
Unbound methods do not exist anymore, so this comment is outdated. Probably, it should be removed and assert should be restored
|
# XXX: success of this one depends on dict order |
|
## self.assertEqualException(f, '2, 3, 4, a=1, c=5') |
It says that the result depends on the dict order. But, dicts are ordered now. Let's see if that possible to uncomment / modernize this test somehow
|
psig = inspect.signature(partial(partial(test, 1), 2)) |
This variable is not needed, because it is not used and there's an identical test right above it:
|
self.assertEqual(self.signature(partial(partial(test, 1), 2)), |
|
((('c', ..., int, "positional_or_keyword"),), |
|
42)) |
- There are also several unsused variables that can be removed durin this cleanup
Here's my PR :)
Linked PRs
Activityadded a commit that references this issue on Apr 15, 2023gh-103553: Improve `test_inspect`: add more assertions, remove unused (… added 2 commits that reference this issue on Apr 15, 2023gh-103553: Improve `test_inspect`: add more assertions, remove unused (…
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|