Skip to content

typing tests: test_overload_on_compiled_functions() may not work on alternative Python implementations #98713

Closed
@AlexWaygood

Description

@AlexWaygood

Bug report

A few weeks ago, the typing_extensions backport library received a bug report that test_overload_on_compiled_functions(), a recently added test, failed when run on PyPy: python/typing_extensions#83. This is due to the fact that builtins.sum() and builtins.print() are not compiled functions on PyPy.

The same test exists in the CPython test suite (the test was ported over to typing_extensions in python/typing_extensions#73 after being added to the CPython test suite in #96479):

def test_overload_on_compiled_functions(self):
with patch("typing._overload_registry",
defaultdict(lambda: defaultdict(dict))):
# The registry starts out empty:
self.assertEqual(typing._overload_registry, {})
# This should just not fail:
overload(sum)
overload(print)
# No overloads are recorded (but, it still has a side-effect):
self.assertEqual(typing.get_overloads(sum), [])
self.assertEqual(typing.get_overloads(print), [])
.

I think the test should probably be marked with the @test.support.cpython_only decorator in the CPython test suite.

(Cc. @sobolevn, who added the test.)

Metadata

Metadata

Assignees

Labels

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

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions