Skip to content

bpo-5846: Deprecate obsolete methods in unittest - #28299

Merged
ambv merged 10 commits into
python:mainfrom
erlend-aasland:fix-issue-5846
Sep 15, 2021
Merged

bpo-5846: Deprecate obsolete methods in unittest#28299
ambv merged 10 commits into
python:mainfrom
erlend-aasland:fix-issue-5846

Conversation

@erlend-aasland

@erlend-aaslanderlend-aasland commented Sep 12, 2021

Copy link
Copy Markdown
Contributor
  • unittest.findTestCases
  • unittest.makeSuite
  • unittest.getTestCaseNames

Scheduled for removal in Python 3.13

https://bugs.python.org/issue5846

…tTestCaseNames in unittest
Scheduled for removal in Python 3.13
@erlend-aasland

Copy link
Copy Markdown
ContributorAuthor

Replaces GH-20400.

@serhiy-storchaka

Copy link
Copy Markdown
Member

I am working on a patch which gets rid of uses of obsolete functions.

@erlend-aasland

erlend-aasland commented Sep 12, 2021

Copy link
Copy Markdown
ContributorAuthor

I had to adapt test_support, since __module__ is now unittest instead of unittest.loader for these three functions.

@serhiy-storchakaserhiy-storchaka left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all tests warning-free?

If these functions are not used in unittest tests, add special tests, catch DeprecationWarning and check the filename attribute (to ensure that the stacklevel is correct).

Comment threadDoc/whatsnew/3.11.rst Outdated
Comment threadLib/test/test_support.py Outdated
_TextTestResult = TextTestResult

from .loader import (
makeSuite as _makeSuite,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not add deprecations when they are defined?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIUC, it is the "shortcuts" that are deprecated, not the methods themselves. Should I deprecate the undocumented unittest.TestLoader.makeSuite and unittest.TestLoader.findTestCases as well?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no unittest.TestLoader.makeSuite and unittest.TestLoader.findTestCases.

@erlend-aaslanderlend-aaslandSep 14, 2021

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, I meant unittest.loader, not unittest.TestLoader:

>>> import unittest
>>> unittest.loader.makeSuite
<function makeSuite at 0x10be0e2a0>
>>> unittest.loader.findTestCases
<function findTestCases at 0x10be0e340>
>>> 

@ambv
ambv merged commit ff6d2cc into python:mainSep 15, 2021
@erlend-aasland
erlend-aasland deleted the fix-issue-5846 branch September 15, 2021 18:34
@erlend-aasland

Copy link
Copy Markdown
ContributorAuthor

Thanks for reviewing and merging, @serhiy-storchaka and @ambv!

lazka added a commit to lazka/distutils that referenced this pull request Dec 27, 2021
See python/cpython#28299
loadTestsFromTestCase() is available since Python 2.7 at least.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@erlend-aasland@serhiy-storchaka@ambv@the-knights-who-say-ni@bedevere-bot