summaryrefslogtreecommitdiffstats
path: root/Lib/unittest/test
Commit message (Collapse)AuthorAgeFilesLines
* gh-93839: Move Lib/unttest/test/ to Lib/test/test_unittest/ (#94043)Victor Stinner2022-06-2130-18392/+0
| | | | | | | | * Move Lib/unittest/test/ to Lib/test/test_unittest/ * Remove Lib/test/test_unittest.py * Replace unittest.test with test.test_unittest * Remove unittest.load_tests() * Rewrite unittest __init__.py and __main__.py * Update build system, CODEOWNERS, and wasm_assets.py
* bpo-45046: Support context managers in unittest (GH-28045)Serhiy Storchaka2022-05-082-0/+163
| | | | | | Add methods enterContext() and enterClassContext() in TestCase. Add method enterAsyncContext() in IsolatedAsyncioTestCase. Add function enterModuleContext().
* gh-57684: Update tests for PYTHONSAFEPATH=1 (#92358)Victor Stinner2022-05-061-1/+3
| | | | | Fix tests failing with the PYTHONSAFEPATH=1 env var. Enhance also -P help in Python usage (python --help).
* Simplify testing the warning filename (GH-91868)Serhiy Storchaka2022-04-243-15/+15
| | | The context manager result has the "filename" attribute.
* bpo-14265: Adds fully qualified test name to unittest output (GH-32138)Sam Ezeh2022-03-291-34/+40
| | | Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
* bpo-40280: Skip socket, fork, subprocess tests on Emscripten (GH-31986)Christian Heimes2022-03-225-1/+12
| | | | | | | | | | | - Add requires_fork and requires_subprocess to more tests - Skip extension import tests if dlopen is not available - Don't assume that _testcapi is a shared extension - Skip a lot of socket tests that don't work on Emscripten - Skip mmap tests, mmap emulation is incomplete - venv does not work yet - Cannot get libc from executable The "entire" test suite is now passing on Emscripten with EMSDK from git head (91 suites are skipped).
* bpo-46994: Accept explicit contextvars.Context in asyncio create_task() API ↵Andrew Svetlov2022-03-141-0/+18
| | | | (GH-31837)
* bpo-24959: fix unittest.assertRaises bug where traceback entries are dropped ↵Irit Katriel2022-03-081-0/+55
| | | | from chained exceptions (GH-23688)
* bpo-46709: check eval breaker in specialized `CALL` opcodes (GH-31404)Nikita Sobolev2022-02-181-59/+85
|
* Restrict use of Mock objects as specs (GH-31090)Matthew Suozzo2022-02-032-2/+10
| | | | | Follow-on to https://github.com/python/cpython/pull/25326 This covers cases where mock objects are passed directly to spec.
* bpo-45162: Revert "Remove many old deprecated unittest features" (GH-30935)Gregory P. Smith2022-01-276-24/+238
| | | | | | | | | | Revert "bpo-45162: Remove many old deprecated unittest features (GH-28268)" This reverts commit b0a6ede3d0bd6fa4ffe413ab4dfc1059201df25b. We're deferring this change until 3.12 while upstream projects that use the legacy assertion method names are fixed. See the issue for links to the discussion. Many upstream projects now have issues and PRs filed.
* bpo-41403: Improve error message for invalid mock target (GH-30833)Irit Katriel2022-01-231-2/+7
|
* bpo-46425: Fix direct invocation of multiple test modules (GH-30666)Nikita Sobolev2022-01-181-1/+1
|
* bpo-23882: unittest: Drop PEP 420 support from discovery. (GH-29745)Inada Naoki2022-01-101-33/+2
|
* bpo-22815: Print unexpected successes in summary in TextTestResult (GH-30138)Serhiy Storchaka2021-12-261-8/+32
|
* bpo-46111: Fix unittest tests in optimized mode (GH-30163)Serhiy Storchaka2021-12-173-3/+6
|
* bpo-13236: Flush the output stream more often in unittest (GH-29864)Serhiy Storchaka2021-12-042-5/+46
| | | It can prevent some losses when output to buffered stream.
* Fix typos in the Lib directory (GH-28775)Christian Clauss2021-10-061-1/+1
| | | | | Fix typos in the Lib directory as identified by codespell. Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
* bpo-45238: Fix unittest.IsolatedAsyncioTestCase.debug() (GH-28449)Serhiy Storchaka2021-09-221-51/+155
| | | | | | It runs now asynchronous methods and callbacks. If it fails, doCleanups() can be called for cleaning up.
* bpo-30856: Update TestResult early, without buffering in _Outcome (GH-28180)Serhiy Storchaka2021-09-195-29/+40
| | | | | | | TestResult methods addFailure(), addError(), addSkip() and addSubTest() are now called immediately after raising an exception in test or finishing a subtest. Previously they were called only after finishing the test clean up.
* bpo-36674: Honour the skipping decorators in TestCase.debug() (GH-28446)Serhiy Storchaka2021-09-181-0/+66
| | | | | | | | unittest.TestCase.debug() raises now a SkipTest if the class or the test method are decorated with the skipping decorator. Previously it only raised a SkipTest if the test method was decorated with other decorator in addition to the skipping decorator, or if SkipTest was explicitly raised in the test or setup methods.
* bpo-45162: Remove many old deprecated unittest features (GH-28268)Serhiy Storchaka2021-09-176-238/+24
| | | | | | | * "fail*" and "assert*" aliases of TestCase methods. * Broken from start TestCase method assertDictContainsSubset(). * Ignored TestLoader.loadTestsFromModule() parameter use_load_tests. * Old alias _TextTestResult of TextTestResult.
* bpo-5846: Fix deprecations for obsolete unittest functions and add tests. ↵Serhiy Storchaka2021-09-171-0/+47
| | | | (GH-28382)
* bpo-45156: Fixes inifite loop on unittest.mock.seal() (GH-28300)Nikita Sobolev2021-09-141-0/+61
| | | | | | Fixes infinite loop on unittest.mock.seal() of mocks created by unittest.create_autospec(). Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
* bpo-5846: Do not use obsolete unittest functions. (GH-28303)Serhiy Storchaka2021-09-131-1/+1
| | | | Get rid of use of makeSuite() and findTestCases(). Also make test_math and test_threading_local discoverable.
* bpo-25894: Always report skipped and failed subtests separately (GH-28082)Serhiy Storchaka2021-09-101-45/+151
| | | | | | * In default mode output separate characters for skipped and failed subtests. * In verbose mode output separate lines (including description) for skipped and failed subtests. * In verbose mode output test description for errors in test cleanup.
* bpo-45102: unittest: add tests for skipping and errors in cleanup (GH-28166)Serhiy Storchaka2021-09-051-0/+138
|
* bpo-43913: Fix bugs in cleaning up classes and modules in unittest. (GH-28006)Serhiy Storchaka2021-08-302-9/+632
| | | | | | | | | | | | | | * 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.
* bpo-41620: TestCase.run() now always return a TestResult instance (GH-28030)Serhiy Storchaka2021-08-301-23/+30
| | | | | | Previously it returned None if the test class or method was decorated with a skipping decorator. Co-authored-by: Iman Tabrizian <iman.tabrizian@gmail.com>
* bpo-25130: Add calls of gc.collect() in tests to support PyPy (GH-28005)Serhiy Storchaka2021-08-292-1/+5
|
* bpo-41322: Add unit tests for deprecation of test return values (GH-27846)andrei kulakov2021-08-222-0/+40
| | | | Also fix the traceback of warnings.
* bpo-44955: Always call stopTestRun() for implicitly created TestResult ↵Serhiy Storchaka2021-08-221-1/+49
| | | | | | | | objects (GH-27831) Method stopTestRun() is now always called in pair with method startTestRun() for TestResult objects implicitly created in TestCase.run(). Previously it was not called for test methods and classes decorated with a skipping decorator.
* bpo-44911: Fixed IsolatedAsyncioTestCase from throwing an exception on ↵Bar Harel2021-08-161-0/+20
| | | | leaked tasks (GH-27765)
* bpo-44017: Update test_contextlib_async not to emit DeprecationWarn (GH-25918)Dong-hee Na2021-05-061-2/+1
|
* bpo-43478: Restrict use of Mock objects as specs (GH-25326)Matthew Suozzo2021-04-102-4/+26
| | | | * Restrict using Mock objects as specs as this is always a test bug where the resulting mock is misleadingly useless. * Skip a broken test that exposes a bug elsewhere in mock (noted in the original issue).
* bpo-41877: Check for misspelled speccing arguments (GH-23737)vabr-g2020-12-141-0/+52
| | | | | | | | | | | | patch, patch.object and create_autospec silently ignore misspelled arguments such as autospect, auto_spec and set_spec. This can lead to tests failing to check what they are supposed to check. This change adds a check causing a RuntimeError if the above functions get any of the above misspellings as arguments. It also adds a new argument, "unsafe", which can be set to True to disable this check. Also add "!r" to format specifiers in added error messages.
* bpo-41877: Improve docs for assert misspellings check in mock (GH-23729)vabr-g2020-12-101-1/+1
| | | | | | | | | This is a follow-up to https://github.com/python/cpython/commit/4662fa9bfe4a849fe87bfb321d8ef0956c89a772. That original commit expanded guards against misspelling assertions on mocks. This follow-up updates the documentation and improves the error message by pointing out the potential cause and solution. Automerge-Triggered-By: GH:gpshead
* bpo-42532: Check if NonCallableMock's spec_arg is not None instead of call ↵idanw2062020-12-061-0/+10
| | | | | | its __bool__ function (GH23613) Check if NonCallableMock's spec_arg is not None instead of call its __bool__ function
* bpo-41877 Check for asert, aseert, assrt in mocks (GH-23165)vabr-g2020-11-051-1/+10
| | | | | | | | | | | Currently, a Mock object which is not unsafe will raise an AttributeError if an attribute with the prefix assert or assret is accessed on it. This protects against misspellings of real assert method calls, which lead to tests passing silently even if the tested code does not satisfy the intended assertion. Recently a check was done in a large code base (Google) and three more frequent ways of misspelling assert were found causing harm: asert, aseert, assrt. These are now added to the existing check.
* bpo-41943: Fix bug where assertLogs doesn't correctly filter messages… ↵Irit Katriel2020-11-021-0/+12
| | | | | | | | | (GH-22565) … by level @vsajip , @pitrou Automerge-Triggered-By: GH:vsajip
* bpo-39101: Fixes BaseException hang in IsolatedAsyncioTestCase. (GH-22654)Lisa Roach2020-10-261-0/+27
|
* bpo-40275: Use new test.support helper submodules in tests (GH-21449)Hai Shi2020-08-032-5/+6
|
* bpo-39385: Add an assertNoLogs context manager to unittest.TestCase (GH-18067)Kit Choi2020-07-011-0/+75
| | | Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
* bpo-29620: iterate over a copy of sys.modules (GH-4800)kernc2020-06-111-0/+15
| | | | | | | unittest.TestCase.assertWarns no longer raises a RuntimeException when accessing a module's ``__warningregistry__`` causes importation of a new module, or when a new module is imported in another thread. Patch by Kernc.
* bpo-40462: fix variable and function names (GH-19832)Furkan Önder2020-05-011-2/+0
| | | Automerge-Triggered-By: @vstinner
* bpo-39966: Revert "bpo-25597: Ensure wraps' return value is used for magic ↵Karthikeyan Singaravelan2020-04-281-6/+10
| | | | | | | methods in MagicMock" (GH-19734) * Revert "bpo-25597: Ensure wraps' return value is used for magic methods in MagicMock (#16029)" This reverts commit 72b1004657e60c900e4cd031b2635b587f4b280e.
* bpo-40126: Fix reverting multiple patches in unittest.mock. (GH-19351)Serhiy Storchaka2020-04-111-1/+1
| | | | | Patcher's __exit__() is now never called if its __enter__() is failed. Returning true from __exit__() silences now the exception.
* bpo-39915: Ensure await_args_list is updated according to the order in which ↵Karthikeyan Singaravelan2020-03-111-0/+11
| | | | | coroutines were awaited (GH-18924) Create call objects with awaited arguments instead of using call_args which has only last call value.
* bpo-39450 Stripped whitespace before parsing the docstring in ↵Steve Cirelli2020-02-031-0/+9
| | | | TestCase.shortDescription (GH-18175)
* Get mock coverage back to 100% (GH-18228)Chris Withers2020-01-293-41/+31
| | | | | | | | | | | | | | | | * use the `: pass` and `: yield` patterns for code that isn't expected to ever be executed. * The _Call items passed to _AnyComparer are only ever of length two, so assert instead of if/else * fix typo * Fix bug, where stop-without-start patching dict blows up with `TypeError: 'NoneType' object is not iterable`, highlighted by lack of coverage of an except branch. * The fix for bpo-37972 means _Call.count and _Call.index are no longer needed. * add coverage for calling next() on a mock_open with readline.return_value set. * __aiter__ is defined on the Mock so the one on _AsyncIterator is never called.