Skip to content

Improve test_inspect #103553

Description

@sobolevn

While working on #103406 I've noticed that there are some problems with test_inspect that we can easily fix.

List of problems I found:

  1. 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
  2. # 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
  3. # 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
  4. 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))
  5. There are also several unsused variables that can be removed durin this cleanup

Here's my PR :)

Linked PRs

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

testsTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or error

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions