The Wayback Machine - https://web.archive.org/web/20220203064407/https://github.com/python/cpython/pull/28006
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-43913: Fix bugs in cleaning up classes and modules in unittest. #28006

Merged
merged 3 commits into from Aug 30, 2021

Conversation

@serhiy-storchaka
Copy link
Member

@serhiy-storchaka serhiy-storchaka commented Aug 27, 2021

  • Functions registered with addModuleCleanup() were not called unless
    the user defines tearDownModule() in their test module.
  • Functions registered with addClassCleanup() were not called if
    tearDownClass is set to None.
  • Buffering in TestResult did not work with functions registered
    with addClassCleanup() and addModuleCleanup().
  • Errors in functions registered with addClassCleanup() and
    addModuleCleanup() were not handled correctly in buffered and
    debug modes.
  • Errors in setUpModule() and functions registered with
    addModuleCleanup() were reported in wrong order.
  • And several lesser bugs.

https://bugs.python.org/issue43913

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.
Lib/unittest/suite.py Show resolved Hide resolved
@ambv ambv merged commit 08d9e59 into python:main Aug 30, 2021
12 checks passed
@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Aug 30, 2021

Thanks @serhiy-storchaka for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9, 3.10.
🐍🍒🤖

miss-islington added a commit to miss-islington/cpython that referenced this issue Aug 30, 2021
…ythonGH-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.
(cherry picked from commit 08d9e59)

Co-authored-by: Serhiy Storchaka <[email protected]>
@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Aug 30, 2021

Sorry, @serhiy-storchaka and @ambv, I could not cleanly backport this to 3.9 due to a conflict.
Please backport using cherry_picker on command line.
cherry_picker 08d9e597c8ef5a2b26375ac954fdf224f5d82c3c 3.9

@bedevere-bot
Copy link

@bedevere-bot bedevere-bot commented Aug 30, 2021

GH-28070 is a backport of this pull request to the 3.10 branch.

@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Aug 30, 2021

Thanks @serhiy-storchaka for the PR, and @ambv for merging it 🌮🎉.. I'm working now to backport this PR to: 3.9.
🐍🍒🤖

@miss-islington
Copy link
Contributor

@miss-islington miss-islington commented Aug 30, 2021

Sorry @serhiy-storchaka and @ambv, I had trouble checking out the 3.9 backport branch.
Please backport using cherry_picker on command line.
cherry_picker 08d9e597c8ef5a2b26375ac954fdf224f5d82c3c 3.9

@ambv
Copy link
Contributor

@ambv ambv commented Aug 30, 2021

@serhiy-storchaka I'm fixing the conflict for 3.9.

@bedevere-bot
Copy link

@bedevere-bot bedevere-bot commented Aug 30, 2021

GH-28071 is a backport of this pull request to the 3.9 branch.

serhiy-storchaka added a commit to serhiy-storchaka/cpython that referenced this issue Aug 30, 2021
…est. (pythonGH-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs..
(cherry picked from commit 08d9e59)

Co-authored-by: Serhiy Storchaka <[email protected]>
ambv added a commit to ambv/cpython that referenced this issue Aug 30, 2021
…est. (pythonGH-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs..
(cherry picked from commit 08d9e59)

Co-authored-by: Serhiy Storchaka <[email protected]>
ambv pushed a commit that referenced this issue Aug 30, 2021
…est. (GH-28006) (GH-28071)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs..
(cherry picked from commit 08d9e59)

Co-authored-by: Serhiy Storchaka <[email protected]>
miss-islington added a commit that referenced this issue Aug 30, 2021
…H-28006)

* Functions registered with addModuleCleanup() were not called unless
  the user defines tearDownModule() in their test module.
* Functions registered with addClassCleanup() were not called if
  tearDownClass is set to None.
* Buffering in TestResult did not work with functions registered
  with addClassCleanup() and addModuleCleanup().
* Errors in functions registered with addClassCleanup() and
  addModuleCleanup() were not handled correctly in buffered and
  debug modes.
* Errors in setUpModule() and functions registered with
  addModuleCleanup() were reported in wrong order.
* And several lesser bugs.
(cherry picked from commit 08d9e59)

Co-authored-by: Serhiy Storchaka <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants