summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_concurrent_futures.py
Commit message (Collapse)AuthorAgeFilesLines
* bpo-38614: Use test.support.SHORT_TIMEOUT constant (GH-17566)Victor Stinner2019-12-111-20/+21
| | | | | | | | | | | | | | | Replace hardcoded timeout constants in tests with SHORT_TIMEOUT of test.support, so it's easier to ajdust this timeout for all tests at once. SHORT_TIMEOUT is 30 seconds by default, but it can be longer depending on --timeout command line option. The change makes almost all timeouts longer, except test_reap_children() of test_support which is made 2x shorter: SHORT_TIMEOUT should be enough. If this test starts to fail, LONG_TIMEOUT should be used instead. Uniformize also "from test import support" import in some test files.
* bpo-37421: test_concurrent_futures stops ForkServer (GH-14643)Victor Stinner2019-07-081-0/+3
| | | | test_concurrent_futures now explicitly stops the ForkServer instance if it's running.
* bpo-37421: test_concurrent_futures cleans up multiprocessing (GH-14563)Victor Stinner2019-07-031-7/+22
| | | | | | | test_concurrent_futures now cleans up multiprocessing to remove immediately temporary directories created by multiprocessing.util.get_temp_dir(). The test now uses setUpModule() and tearDownModule().
* [3.9] bpo-37116: Use PEP 570 syntax for positional-only parameters. (GH-12620)Serhiy Storchaka2019-06-051-3/+2
| | | Turn deprecation warnings added in 3.8 into TypeError.
* bpo-35279: reduce default max_workers of ThreadPoolExecutor (GH-13618)Inada Naoki2019-05-281-2/+2
|
* bpo-24882: Let ThreadPoolExecutor reuse idle threads before creating new ↵Sean2019-05-221-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thread (#6375) * Fixes issue 24882 * Add news file entry for change. * Change test_concurrent_futures.ThreadPoolShutdownTest Adjust the shutdown test so that, after submitting three jobs to the executor, the test checks for less than three threads, instead of looking for exactly three threads. If idle threads are being recycled properly, then we should have less than three threads. * Switched idle count to semaphor, Updated tests As suggested by reviewer tomMoral, swapped lock-protected counter with a semaphore to track the number of unused threads. Adjusted test_threads_terminate to wait for completiton of the previous future before submitting a new one (and checking the number of threads used). Also added a new test to confirm the thread pool can be saturated. * Updates tests as requested by pitrou. * Correct minor whitespace error. * Make test_saturation faster
* bpo-33110: Catch errors raised when running add_done_callback on already ↵Sam Martin2019-05-221-0/+16
| | | | | | completed futures (GH-13141) Wrap the callback call within the `add_done_callback` function within concurrent.futures, in order to behave in an identical manner to callbacks added to a running future are triggered once it has completed.
* bpo-26903: Limit ProcessPoolExecutor to 61 workers on Windows (GH-13132)Brian Quinlan2019-05-081-0/+7
| | | | Co-Authored-By: brianquinlan <brian@sweetapp.com>
* bpo-36492: Deprecate passing some arguments as keyword arguments. (GH-12637)Serhiy Storchaka2019-04-011-0/+10
| | | | | | | | | | | | | | | | | | | | | | Deprecated passing the following arguments as keyword arguments: - "func" in functools.partialmethod(), weakref.finalize(), profile.Profile.runcall(), cProfile.Profile.runcall(), bdb.Bdb.runcall(), trace.Trace.runfunc() and curses.wrapper(). - "function" in unittest.addModuleCleanup() and unittest.TestCase.addCleanup(). - "fn" in the submit() method of concurrent.futures.ThreadPoolExecutor and concurrent.futures.ProcessPoolExecutor. - "callback" in contextlib.ExitStack.callback(), contextlib.AsyncExitStack.callback() and contextlib.AsyncExitStack.push_async_callback(). - "c" and "typeid" in the create() method of multiprocessing.managers.Server and multiprocessing.managers.SharedMemoryServer. - "obj" in weakref.finalize(). Also allowed to pass arbitrary keyword arguments (even "self" and "func") if the above arguments are passed as positional argument.
* bpo-33716, test_concurrent_futures: increase timeout (GH-7828)Pablo Galindo2018-06-211-5/+5
| | | | | Increase the timeout from 1 min to 5 min. Replace also time.time() with time.monotonic() for timeouts.
* bpo-33238: Add InvalidStateError to concurrent.futures. (GH-7056)jhaydaman2018-05-301-0/+28
| | | | | | | Future.set_result and Future.set_exception now raise InvalidStateError if the futures are not pending or running. This mirrors the behavior of asyncio.Future, and prevents AssertionErrors in asyncio.wrap_future when set_result is called multiple times.
* bpo-33097: Fix submit accepting callable after executor shutdown by ↵Mark Nemec2018-04-101-0/+28
| | | | | | interpreter exit (GH-6144) Executors in concurrent.futures accepted tasks after executor was shutdown by interpreter exit. Tasks were left in PENDING state forever. This fix changes submit to instead raise a RuntimeError.
* bpo-32746: Fix multiple typos (GH-5144)Leo Arias2018-02-041-6/+6
| | | Fix typos found by codespell in docs, docstrings, and comments.
* bpo-31699 Deadlocks in `concurrent.futures.ProcessPoolExecutor` with ↵Thomas Moreau2018-01-051-2/+170
| | | | | | pickling error (#3895) Fix deadlocks in :class:`concurrent.futures.ProcessPoolExecutor` when task arguments or results cause pickling or unpickling errors. This should make sure that calls to the :class:`ProcessPoolExecutor` API always eventually return.
* Silence error output in test_concurrent_futures (bpo-21423) (#4347)Antoine Pitrou2017-11-091-22/+47
| | | | * Silence error output in test_concurrent_futures (bpo-21423)
* bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor (#4241)Antoine Pitrou2017-11-041-65/+119
| | | | | | * bpo-21423: Add an initializer argument to {Process,Thread}PoolExecutor * Fix docstring
* bpo-31540: Allow passing multiprocessing context to ProcessPoolExecutor (#3682)Thomas Moreau2017-10-031-9/+120
|
* bpo-31641: Allow arbitrary iterables in `concurrent.futures.as_completed()` ↵Łukasz Langa2017-09-291-1/+5
| | | | | | | (#3830) This was possible before. GH-1560 introduced a regression after 3.6.2 got released where only sequences were accepted now. This commit addresses this problem.
* bpo-31234: Join threads in tests (#3572)Victor Stinner2017-09-141-0/+3
| | | | Call thread.join() on threads to prevent the "dangling threads" warning.
* bpo-31249: Fix test_concurrent_futures dangling thread (#3521)Victor Stinner2017-09-131-0/+3
| | | | ProcessPoolShutdownTest.test_del_shutdown() now closes the call queue and joins its thread, to prevent leaking a dangling thread.
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-071-4/+0
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* Fix a c.f.as_completed() refleak previously introduced in bpo-27144 (#3270)Antoine Pitrou2017-09-031-1/+1
|
* bpo-27144: concurrent.futures as_complete and map iterators do not keep ↵Grzegorz Grzywacz2017-09-011-0/+48
| | | | | | | | | | reference to returned object (#1560) * bpo-27144: concurrent.futures as_complie and map iterators do not keep reference to returned object * Some nits. Improve wordings in docstrings and comments, and avoid relying on sys.getrefcount() in tests.
* bpo-31249: test_concurrent_futures checks dangling threads (#3167)Victor Stinner2017-08-211-12/+20
| | | | | Add a BaseTestCase class to test_concurrent_futures to check for dangling threads and processes on all tests, not only tests using ExecutorMixin.
* bpo-30845: Enhance test_concurrent_futures cleanup (#2564)Victor Stinner2017-07-041-0/+7
| | | | | | | | | | | * bpo-30845: reap_children() now logs warnings * bpo-30845: Enhance test_concurrent_futures cleanup In setUp() and tearDown() methods of test_concurrent_futures tests, make sure that tests don't leak threads nor processes. Clear explicitly the reference to the executor to make it that it's destroyed (to prevent "dangling threads" warning).
* bpo-29212: Fix the ugly repr() ThreadPoolExecutor thread name. (#2315)Gregory P. Smith2017-06-221-4/+3
| | | | | | | bpo-29212: Fix the ugly ThreadPoolExecutor thread name. Fixes the newly introduced ugly default thread name for concurrent.futures thread.ThreadPoolExecutor threads. They'll now resemble the old <=3.5 threading default Thread-x names by being named ThreadPoolExecutor-y_n.
* Issue #27895: Spelling fixes (Contributed by Ville Skyttä).Raymond Hettinger2016-08-301-1/+1
|
* Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor()Gregory P. Smith2016-08-071-0/+24
| | | | the ability to specify a thread name prefix.
* Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-2/+2
| | | | Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
* Issue #9517: Move script_helper to the support package.Berker Peksag2015-05-061-1/+1
| | | | Patch by Christie Wilson.
* Issue #21817: When an exception is raised in a task submitted to a ↵Antoine Pitrou2015-01-171-0/+26
| | | | | | ProcessPoolExecutor, the remote traceback is now displayed in the parent process. Patch by Claudiu Popa.
* Issue #11271: concurrent.futures.Executor.map() now takes a *chunksize*Antoine Pitrou2014-10-041-0/+16
| | | | | argument to allow batching of tasks in child processes and improve performance of ProcessPoolExecutor. Patch by Dan O'Reilly.
* Closes #21527: Add default number of workers to ThreadPoolExecutor. (Claudiu ↵Guido van Rossum2014-09-021-0/+6
| | | | Popa.)
* Eliminate DeprecationWarning in test_concurrent_futures.R David Murray2014-06-111-3/+3
|
* Issue #21362: concurrent.futures does not validate that max_workers is properBrian Quinlan2014-05-171-0/+7
|
* Fix issue #20367: concurrent.futures.as_completed() for duplicate arguments.Guido van Rossum2014-01-261-0/+7
| | | | Patch by Glenn Langford.
* Issue #14407: Fix unittest test discovery in test_concurrent_futures.Antoine Pitrou2013-10-151-22/+13
|\
| * Issue #14407: Fix unittest test discovery in test_concurrent_futures.Antoine Pitrou2013-10-151-22/+13
| |
* | Issue #16284: Prevent keeping unnecessary references to worker functions in ↵Andrew Svetlov2012-11-031-0/+22
|/ | | | concurrent.futures ThreadPoolExecutor.
* Issue #14406: Fix a race condition when using ↵Antoine Pitrou2012-03-311-1/+17
|\ | | | | | | | | | | `concurrent.futures.wait(return_when=ALL_COMPLETED)`. Patch by Matt Joiner.
| * Issue #14406: Fix a race condition when using ↵Antoine Pitrou2012-03-311-1/+17
| | | | | | | | | | | | `concurrent.futures.wait(return_when=ALL_COMPLETED)`. Patch by Matt Joiner.
* | Merge with 3.2 for #12364.Ross Lagerwall2012-01-081-0/+6
|\ \ | |/
| * Issue #12364: Fix a hang in concurrent.futures.ProcessPoolExecutor.Ross Lagerwall2012-01-081-0/+6
| |
* | PEP 3151 / issue #12555: reworking the OS and IO exception hierarchy.Antoine Pitrou2011-10-121-7/+7
| |
* | Fix potential resource leaks in concurrent.futures.ProcessPoolExecutorAntoine Pitrou2011-07-151-1/+2
| | | | | | | | by joining all queues and processes when shutdown() is called.
* | Make sure to reap worker threads and processes at the end of ↵Antoine Pitrou2011-07-151-9/+13
|\ \ | |/ | | | | test_concurrent_futures
| * Make sure to reap worker threads and processes at the end of ↵Antoine Pitrou2011-07-151-9/+13
| | | | | | | | test_concurrent_futures
* | Issue #12456: fix a possible hang on shutdown of a ↵Antoine Pitrou2011-07-021-0/+7
| | | | | | | | concurrent.futures.ProcessPoolExecutor.
* | Issue #9205: concurrent.futures.ProcessPoolExecutor now detects killedAntoine Pitrou2011-06-081-5/+15
| | | | | | | | | | children and raises BrokenProcessPool in such a situation. Previously it would reliably freeze/deadlock.
* | Increases some test timeouts to fix issue 11864.Brian Quinlan2011-05-301-4/+4
| |