Skip to content

bpo-36103: change default buffer size of shutil.copyfileobj()#12115

Merged
methane merged 1 commit into
python:masterfrom
methane:shutils-copybuf
Mar 2, 2019
Merged

bpo-36103: change default buffer size of shutil.copyfileobj()#12115
methane merged 1 commit into
python:masterfrom
methane:shutils-copybuf

Conversation

@methane

@methane methane commented Mar 1, 2019

Copy link
Copy Markdown
Member

It is changed from 16KiB to 64KiB. The previous default value
is used since 1990.

coreutils chose 128 KiB as minimum buffer size for block device I/O.

But shutil.copyfileobj() can be used for non block devices.
So I choose more conservative value.

As my quick benchmark, performance difference between 64KiB and
128 KiB is up to ~5%. On the other hand, performance difference
between 32 KiB and 64 KiB can be more than 10% when file is fully
buffered.

This is why I think 64 KiB is rational value.

https://bugs.python.org/issue36103

It is changed from 16KiB to 64KiB.  The previous default value
is used since 1990.

coreutils chose 128 KiB as minimum buffer size for block device I/O.

But shutil.copyfileobj() can be used for non block devices.
So I choose more conservative value.

As my quick benchmark, performance difference between 64KiB and
128 KiB is up to ~5%.  On the other hand, performance difference
between 32 KiB and 64 KiB can be more than 10% when file is fully
buffered.

This is why 64 KiB is rational value.
@methane methane changed the title change default buffer size of shutil.copyfileobj() bpo-36103: change default buffer size of shutil.copyfileobj() Mar 1, 2019
@methane
methane merged commit 4f19030 into python:master Mar 2, 2019
@methane
methane deleted the shutils-copybuf branch March 2, 2019 04:31
@bedevere-bot

Copy link
Copy Markdown

⚠️⚠️⚠️ Buildbot failure ⚠️⚠️⚠️

Hi! The buildbot AMD64 Windows8 3.x has failed when building commit 4f19030.

What do you need to do:

  1. Don't panic.
  2. Check the buildbot page in the devguide if you don't know what the buildbots are or how they work.
  3. Go to the page of the buildbot that failed (https://buildbot.python.org/all/#builders/32/builds/2231) and take a look at the build logs.
  4. Check if the failure is related to this commit (4f19030) or if it is a false positive.
  5. If the failure is related to this commit, please, reflect that on the issue and make a new Pull Request with a fix.

You can take a look at the buildbot page here:

https://buildbot.python.org/all/#builders/32/builds/2231

Click to see traceback logs
From https://github.com/python/cpython
 * branch            master     -> FETCH_HEAD
Reset branch 'master'

Could Not Find D:\buildarea\3.x.bolen-windows8\build\Lib\*.pyc
The system cannot find the file specified.
Could Not Find D:\buildarea\3.x.bolen-windows8\build\PCbuild\python*.zip

test_resource skipped -- No module named 'resource'
test_openpty skipped -- os.openpty() not available.
test_curses skipped -- No module named '_curses'
minkernel\crts\ucrt\src\appcrt\lowio\write.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
test_nis skipped -- No module named 'nis'
minkernel\crts\ucrt\src\appcrt\lowio\write.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
minkernel\crts\ucrt\src\appcrt\lowio\close.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
minkernel\crts\ucrt\src\appcrt\lowio\close.cpp(49) : Assertion failed: (_osfile(fh) & FOPEN)
test_xxtestfuzz skipped -- No module named '_xxtestfuzz'
test_crypt skipped -- No module named '_crypt'
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_pwd skipped -- No module named 'pwd'
test_ioctl skipped -- No module named 'fcntl'
test_epoll skipped -- test works only on Linux 2.6
test_multiprocessing_forkserver skipped -- forkserver is not available on Windows
test_poll skipped -- select.poll not defined
test_readline skipped -- No module named 'readline'
test_fork1 skipped -- object <module 'os' from 'D:\\buildarea\\3.x.bolen-windows8\\build\\lib\\os.py'> has no attribute 'fork'
test_threadsignals skipped -- Can't test signal on win32
test_multiprocessing_fork skipped -- fork is not available on Windows
stty: standard input: Inappropriate ioctl for device
test_syslog skipped -- No module named 'syslog'
test_wait3 skipped -- os.fork not defined
test_spwd skipped -- No module named 'spwd'
test_devpoll skipped -- test works only on Solaris OS family
test_ossaudiodev skipped -- No module named 'ossaudiodev'
test_posix skipped -- No module named 'posix'
test_pty skipped -- No module named 'termios'
test_kqueue skipped -- test works only on BSD
test_pipes skipped -- pipes module only works on posix
test_gdb skipped -- Couldn't find gdb on the path
test_dbm_gnu skipped -- No module named '_gdbm'
test_grp skipped -- No module named 'grp'
test__all__ (test.test_multiprocessing_spawn.MiscTestCase) ... ok
test_answer_challenge_auth_failure (test.test_multiprocessing_spawn.OtherTest) ... ok
test_deliver_challenge_auth_failure (test.test_multiprocessing_spawn.OtherTest) ... ok
test_closefd (test.test_multiprocessing_spawn.TestCloseFds) ... ok
test_flags (test.test_multiprocessing_spawn.TestFlags) ... ok
test_lock (test.test_multiprocessing_spawn.TestForkAwareThreadLock) ... ok
test_ignore (test.test_multiprocessing_spawn.TestIgnoreEINTR) ... skipped 'requires SIGUSR1'
test_ignore_listener (test.test_multiprocessing_spawn.TestIgnoreEINTR) ... skipped 'requires SIGUSR1'
test_manager_initializer (test.test_multiprocessing_spawn.TestInitializers) ... ok
test_pool_initializer (test.test_multiprocessing_spawn.TestInitializers) ... ok
test_invalid_family (test.test_multiprocessing_spawn.TestInvalidFamily) ... skipped 'skipped on Windows'
test_invalid_family_win32 (test.test_multiprocessing_spawn.TestInvalidFamily) ... ok
test_invalid_handles (test.test_multiprocessing_spawn.TestInvalidHandle) ... skipped 'skipped on Windows'
test_noforkbomb (test.test_multiprocessing_spawn.TestNoForkBomb) ... ok
test_release_unused_processes (test.test_multiprocessing_spawn.TestPoolNotLeakOnFailure) ... ok
test_semaphore_tracker (test.test_multiprocessing_spawn.TestSemaphoreTracker) ... skipped "test semantics don't make sense on Windows"
test_semaphore_tracker_sigint (test.test_multiprocessing_spawn.TestSemaphoreTracker) ... skipped "test semantics don't make sense on Windows"
test_semaphore_tracker_sigkill (test.test_multiprocessing_spawn.TestSemaphoreTracker) ... skipped "test semantics don't make sense on Windows"
test_semaphore_tracker_sigterm (test.test_multiprocessing_spawn.TestSemaphoreTracker) ... skipped "test semantics don't make sense on Windows"
test_empty (test.test_multiprocessing_spawn.TestSimpleQueue) ... ok
test_context (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_get_all (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_preload_resources (test.test_multiprocessing_spawn.TestStartMethod) ... skipped "test only relevant for 'forkserver' method"
test_set_get (test.test_multiprocessing_spawn.TestStartMethod) ... ok
test_flushing (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_pool_in_process (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_queue_in_process (test.test_multiprocessing_spawn.TestStdinBadfiledescriptor) ... ok
test_array (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_barrier (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_condition (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_dict (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_event (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_joinable_queue (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_list (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_lock (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_namespace (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_pool (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_queue (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_rlock (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_semaphore (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_value (test.test_multiprocessing_spawn.TestSyncManagerTypes) ... ok
test_timeout (test.test_multiprocessing_spawn.TestTimeouts) ... ok
test_neg_timeout (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_integer (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_slow (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_socket (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_socket_slow (test.test_multiprocessing_spawn.TestWait) ... ok
test_wait_timeout (test.test_multiprocessing_spawn.TestWait) ... ok
test_abort (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_action (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_barrier (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_reset (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_single_thread (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... skipped 'test not appropriate for manager'
test_timeout (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithManagerTestBarrier) ... ok
test_notify (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithManagerTestCondition) ... ok
test_dict (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_dict_iter (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_dict_proxy_nested (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list_iter (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_list_proxy_in_list (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_namespace (test.test_multiprocessing_spawn.WithManagerTestContainers) ... ok
test_event (test.test_multiprocessing_spawn.WithManagerTestEvent) ... ok
test_lock (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithManagerTestLock) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithManagerTestManagerRestart) ... ok
test_mymanager (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... FAIL
test_mymanager_context (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... FAIL
test_mymanager_context_prestarted (test.test_multiprocessing_spawn.WithManagerTestMyManager) ... ok
test_apply (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not applicable to manager'
test_imap (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_imap_unordered (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_make_pool (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not appropriate for manager'
test_map_no_failfast (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_release_task_refs (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithManagerTestPool) ... skipped 'test not applicable to manager'
test_starmap (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithManagerTestPool) ... ok
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithManagerTestQueue) ... skipped 'test not appropriate for manager'
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithManagerTestQueue) ... skipped 'test not appropriate for manager'
test_task_done (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestQueue) ... ok
test_remote (test.test_multiprocessing_spawn.WithManagerTestRemoteManager) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithManagerTestSemaphore) ... skipped 'test not appropriate for manager'
test_array (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_array_from_size (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_getobj_getlock_obj (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_rawarray (test.test_multiprocessing_spawn.WithProcessesTestArray) ... ok
test_abort (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_action (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_barrier (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_reset (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_single_thread (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithProcessesTestBarrier) ... ok
test_notify (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithProcessesTestCondition) ... ok
test_connection (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_context (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_duplex_false (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_large_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... skipped "test semantics don't make sense on Windows"
test_missing_fd_transfer (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... skipped "doesn't make sense on Windows"
test_sendbytes (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_spawn_close (test.test_multiprocessing_spawn.WithProcessesTestConnection) ... ok
test_event (test.test_multiprocessing_spawn.WithProcessesTestEvent) ... ok
test_finalize (test.test_multiprocessing_spawn.WithProcessesTestFinalize) ... ok
test_thread_safety (test.test_multiprocessing_spawn.WithProcessesTestFinalize) ... ok
test_free_from_gc (test.test_multiprocessing_spawn.WithProcessesTestHeap) ... ok
test_heap (test.test_multiprocessing_spawn.WithProcessesTestHeap) ... ok
test_context (test.test_multiprocessing_spawn.WithProcessesTestListener) ... ok
test_multiple_bind (test.test_multiprocessing_spawn.WithProcessesTestListener) ... ok
test_issue14725 (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_issue16955 (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_listener_client (test.test_multiprocessing_spawn.WithProcessesTestListenerClient) ... ok
test_lock (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithProcessesTestLock) ... ok
test_enable_logging (test.test_multiprocessing_spawn.WithProcessesTestLogging) ... ok
test_level (test.test_multiprocessing_spawn.WithProcessesTestLogging) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithProcessesTestManagerRestart) ... ok
test_access (test.test_multiprocessing_spawn.WithProcessesTestPicklingConnections) ... ok
test_pickling (test.test_multiprocessing_spawn.WithProcessesTestPicklingConnections) ... ok
test_boundaries (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_dont_merge (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_empty_string (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_strings (test.test_multiprocessing_spawn.WithProcessesTestPoll) ... ok
test_poll_eintr (test.test_multiprocessing_spawn.WithProcessesTestPollEintr) ... skipped 'requires SIGUSR1'
test_apply (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_unordered (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_make_pool (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_no_failfast (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_release_task_refs (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_starmap (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithProcessesTestPool) ... ok
test_async_error_callback (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerErrors) ... ok
test_unpickleable_result (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerErrors) ... ok
test_pool_worker_lifetime (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime) ... ok
test_pool_worker_lifetime_early_close (test.test_multiprocessing_spawn.WithProcessesTestPoolWorkerLifetime) ... ok
test_active_children (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_child_fd_inflation (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_close (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_cpu_count (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_current (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_daemon_argument (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_error_on_stdio_flush_1 (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_error_on_stdio_flush_2 (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_forkserver_sigint (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... skipped 'test not appropriate for spawn'
test_forkserver_sigkill (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_kill (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_lose_target_ref (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_many_processes (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_process (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_recursion (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_sentinel (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_terminate (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_wait_for_threads (test.test_multiprocessing_spawn.WithProcessesTestProcess) ... ok
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_task_done (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestQueue) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithProcessesTestSemaphore) ... ok
test_copy (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_sharedctypes (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_synchronize (test.test_multiprocessing_spawn.WithProcessesTestSharedCTypes) ... ok
test_shared_memory_ShareableList_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_ShareableList_pickling (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_SharedMemoryManager_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_across_processes (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_shared_memory_basics (test.test_multiprocessing_spawn.WithProcessesTestSharedMemory) ... ok
test_stderr_flush (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_subclassing (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_sys_exit (test.test_multiprocessing_spawn.WithProcessesTestSubclassingProcess) ... ok
test_getobj_getlock (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_rawvalue (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_value (test.test_multiprocessing_spawn.WithProcessesTestValue) ... ok
test_abort (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_abort_and_reset (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_action (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_barrier (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_barrier_10 (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_default_timeout (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_reset (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_single_thread (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_thousand (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_wait_return (test.test_multiprocessing_spawn.WithThreadsTestBarrier) ... ok
test_notify (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_notify_all (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_notify_n (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_wait_result (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_waitfor (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_waitfor_timeout (test.test_multiprocessing_spawn.WithThreadsTestCondition) ... ok
test_connection (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_context (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_duplex_false (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped 'only makes sense with processes'
test_large_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped "test semantics don't make sense on Windows"
test_missing_fd_transfer (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped "doesn't make sense on Windows"
test_sendbytes (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... skipped 'test not appropriate for threads'
test_spawn_close (test.test_multiprocessing_spawn.WithThreadsTestConnection) ... ok
test_event (test.test_multiprocessing_spawn.WithThreadsTestEvent) ... ok
test_issue14725 (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_issue16955 (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_listener_client (test.test_multiprocessing_spawn.WithThreadsTestListenerClient) ... ok
test_lock (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_lock_context (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_rlock (test.test_multiprocessing_spawn.WithThreadsTestLock) ... ok
test_rapid_restart (test.test_multiprocessing_spawn.WithThreadsTestManagerRestart) ... ok
test_boundaries (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_dont_merge (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_empty_string (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_strings (test.test_multiprocessing_spawn.WithThreadsTestPoll) ... ok
test_apply (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_async_timeout (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_context (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_empty_iterable (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_enter (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_unordered (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_imap_unordered_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_make_pool (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_async_callbacks (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_chunksize (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_handle_iterable_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_no_failfast (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_map_unplicklable (test.test_multiprocessing_spawn.WithThreadsTestPool) ... skipped 'test not appropriate for threads'
test_release_task_refs (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_resource_warning (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_starmap (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_starmap_async (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_terminate (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_traceback (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_wrapped_exception (test.test_multiprocessing_spawn.WithThreadsTestPool) ... ok
test_active_children (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_child_fd_inflation (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_close (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_cpu_count (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_current (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_daemon_argument (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_error_on_stdio_flush_1 (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_error_on_stdio_flush_2 (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_forkserver_sigint (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_forkserver_sigkill (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_kill (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_lose_target_ref (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_many_processes (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_process (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_recursion (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... ok
test_sentinel (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_terminate (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_wait_for_threads (test.test_multiprocessing_spawn.WithThreadsTestProcess) ... skipped 'test not appropriate for threads'
test_closed_queue_put_get_exceptions (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_fork (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_get (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_no_import_lock_contention (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_put (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_qsize (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_queue_feeder_donot_stop_onexc (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... skipped 'test not appropriate for threads'
test_queue_feeder_on_queue_feeder_error (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... skipped 'test not appropriate for threads'
test_task_done (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestQueue) ... ok
test_bounded_semaphore (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... ok
test_semaphore (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... ok
test_timeout (test.test_multiprocessing_spawn.WithThreadsTestSemaphore) ... skipped 'test not appropriate for threads'
test_import (test.test_multiprocessing_spawn._TestImportStar) ... ok

======================================================================
FAIL: test_mymanager (test.test_multiprocessing_spawn.WithManagerTestMyManager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\buildarea\3.x.bolen-windows8\build\lib\test\_test_multiprocessing.py", line 2740, in test_mymanager
    self.assertEqual(manager._process.exitcode, 0)
AssertionError: 3221225477 != 0

======================================================================
FAIL: test_mymanager_context (test.test_multiprocessing_spawn.WithManagerTestMyManager)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\buildarea\3.x.bolen-windows8\build\lib\test\_test_multiprocessing.py", line 2747, in test_mymanager_context
    self.assertIn(manager._process.exitcode, (0, -signal.SIGTERM))
AssertionError: 3221225477 not found in (0, -15)

----------------------------------------------------------------------

Ran 344 tests in 418.605s

FAILED (failures=2, skipped=40)
test test_multiprocessing_spawn failed
test_dbm_ndbm skipped -- No module named '_dbm'
test_wait4 skipped -- object <module 'os' from 'D:\\buildarea\\3.x.bolen-windows8\\build\\lib\\os.py'> has no attribute 'fork'
D:\buildarea\3.x.bolen-windows8\build\lib\test\support\__init__.py:1057: RuntimeWarning: tests may fail, unable to create temporary directory 'D:\\buildarea\\3.x.bolen-windows8\\build\\build\\test_python_2812': [WinError 183] Cannot create a file when that file already exists: 'D:\\buildarea\\3.x.bolen-windows8\\build\\build\\test_python_2812'
  with temp_dir(path=name, quiet=quiet) as temp_path:
test_fcntl skipped -- No module named 'fcntl'
test test_multiprocessing_spawn failed

Could Not Find D:\buildarea\3.x.bolen-windows8\build\PCbuild\python*.zip

Sign up for free to 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.

3 participants