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-44131: Test Py_FrozenMain() #26126

Merged
merged 4 commits into from
May 17, 2021
Merged

bpo-44131: Test Py_FrozenMain() #26126

merged 4 commits into from
May 17, 2021

Conversation

vstinner
Copy link
Member

@vstinner vstinner commented May 14, 2021

  • Add test_frozenmain to test_embed
  • Add Programs/test_frozenmain.py
  • Add Programs/freeze_test_frozenmain.py
  • Add Programs/test_frozenmain.h
  • Add make regen-test-frozenmain
  • Add test_frozenmain command to Programs/_testembed

https://bugs.python.org/issue44131

@encukou
Copy link
Member

encukou commented May 14, 2021

It seems wasteful to generate another frozen copy of importlib. There's already one in Python/importlib*.h; can that be used instead?

@vstinner
Copy link
Member Author

@encukou: "It seems wasteful to generate another frozen copy of importlib. There's already one in Python/importlib*.h; can that be used instead?"

Right, I wrote the test differently to retrieve the two frozen importlib modules from PyImport_FrozenModules.

@vstinner
Copy link
Member Author

Windows (x64): Failing:

_testembed.obj : error LNK2001: unresolved external symbol __imp_Py_FrozenMain

Ah, it looks like the https://bugs.python.org/issue44133 bug.

vstinner added 4 commits May 14, 2021 23:34
* Add test_frozenmain to test_embed
* Add Programs/test_frozenmain.py
* Add Programs/freeze_test_frozenmain.py
* Add Programs/test_frozenmain.h
* Add make regen-test-frozenmain
* Add test_frozenmain command to Programs/_testembed
* _testembed.c: add error(msg) function
@vstinner
Copy link
Member Author

Since Py_FrozenMain is not currently exported on Windows, I modified my PR to skip the test on Windows for now. I will enable the test once https://bugs.python.org/issue44133 will be fixed.

@vstinner vstinner merged commit eaede0d into python:main May 17, 2021
@vstinner vstinner deleted the test_frozenmain branch May 17, 2021 21:48
@bedevere-bot
Copy link

bedevere-bot commented May 17, 2021

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

Hi! The buildbot s390x RHEL7 LTO + PGO 3.x has failed when building commit eaede0d.

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/244/builds/208) and take a look at the build logs.
  4. Check if the failure is related to this commit (eaede0d) 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/244/builds/208

Summary of the results of the build (if available):

Click to see traceback logs
remote: Enumerating objects: 22, done.�[K
remote: Counting objects:   5% (1/18)�[K
remote: Counting objects:  11% (2/18)�[K
remote: Counting objects:  16% (3/18)�[K
remote: Counting objects:  22% (4/18)�[K
remote: Counting objects:  27% (5/18)�[K
remote: Counting objects:  33% (6/18)�[K
remote: Counting objects:  38% (7/18)�[K
remote: Counting objects:  44% (8/18)�[K
remote: Counting objects:  50% (9/18)�[K
remote: Counting objects:  55% (10/18)�[K
remote: Counting objects:  61% (11/18)�[K
remote: Counting objects:  66% (12/18)�[K
remote: Counting objects:  72% (13/18)�[K
remote: Counting objects:  77% (14/18)�[K
remote: Counting objects:  83% (15/18)�[K
remote: Counting objects:  88% (16/18)�[K
remote: Counting objects:  94% (17/18)�[K
remote: Counting objects: 100% (18/18)�[K
remote: Counting objects: 100% (18/18), done.�[K
remote: Compressing objects:   8% (1/12)�[K
remote: Compressing objects:  16% (2/12)�[K
remote: Compressing objects:  25% (3/12)�[K
remote: Compressing objects:  33% (4/12)�[K
remote: Compressing objects:  41% (5/12)�[K
remote: Compressing objects:  50% (6/12)�[K
remote: Compressing objects:  58% (7/12)�[K
remote: Compressing objects:  66% (8/12)�[K
remote: Compressing objects:  75% (9/12)�[K
remote: Compressing objects:  83% (10/12)�[K
remote: Compressing objects:  91% (11/12)�[K
remote: Compressing objects: 100% (12/12)�[K
remote: Compressing objects: 100% (12/12), done.�[K
remote: Total 22 (delta 6), reused 6 (delta 6), pack-reused 4�[K
From https://github.com/python/cpython
 * branch            main       -> FETCH_HEAD
Note: checking out 'eaede0ded72e67cee4a91c086847d54cb64ca74c'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at eaede0d... [bpo-44131](https://bugs.python.org/issue44131): Test Py_FrozenMain() (GH-26126)
Switched to and reset branch 'main'

./configure: line 10527: PKG_PROG_PKG_CONFIG: command not found

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make[2]: [clean-retain-profile] Error 1 (ignored)
Python/ceval.c: In function ‘PyEval_EvalCodeEx’:
Python/ceval.c:5265:19: warning: ‘newargs’ may be used uninitialized in this function [-Wmaybe-uninitialized]
         PyMem_Free(newargs);
                   ^
lto1: error: libpython3.11.a: file too short
(null):0: confused by earlier errors, bailing out
lto-wrapper: gcc returned 1 exit status
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[3]: *** [python] Error 1
make[3]: *** Waiting for unfinished jobs....
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
make[2]: *** [build_all_generate_profile] Error 2
make[1]: *** [profile-gen-stamp] Error 2
make: *** [profile-run-stamp] Error 2

find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
find: ‘build’: No such file or directory
make: [clean-retain-profile] Error 1 (ignored)

@bedevere-bot
Copy link

bedevere-bot commented May 17, 2021

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

Hi! The buildbot AMD64 FreeBSD Shared 3.x has failed when building commit eaede0d.

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/483/builds/191) and take a look at the build logs.
  4. Check if the failure is related to this commit (eaede0d) 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/483/builds/191

Summary of the results of the build (if available):

== Tests result: ENV CHANGED ==

406 tests OK.

10 slowest tests:

  • test_smtpnet: 6 min 6 sec
  • test_nntplib: 3 min 46 sec
  • test_concurrent_futures: 3 min 32 sec
  • test_multiprocessing_spawn: 2 min 50 sec
  • test_lib2to3: 2 min 50 sec
  • test_tokenize: 2 min 39 sec
  • test_asyncio: 2 min 33 sec
  • test_subprocess: 2 min 31 sec
  • test_multiprocessing_forkserver: 2 min 29 sec
  • test_urllib2: 2 min 1 sec

1 test altered the execution environment:
test_concurrent_futures

20 tests skipped:
test_dbm_gnu test_devpoll test_epoll test_idle test_ioctl
test_msilib test_ossaudiodev test_readline test_spwd
test_startfile test_tcl test_tix test_tk test_ttk_guionly
test_ttk_textonly test_turtle test_winconsoleio test_winreg
test_winsound test_zipfile64

Total duration: 18 min 19 sec

Click to see traceback logs
remote: Enumerating objects: 22, done.        
remote: Counting objects:   5% (1/18)        
remote: Counting objects:  11% (2/18)        
remote: Counting objects:  16% (3/18)        
remote: Counting objects:  22% (4/18)        
remote: Counting objects:  27% (5/18)        
remote: Counting objects:  33% (6/18)        
remote: Counting objects:  38% (7/18)        
remote: Counting objects:  44% (8/18)        
remote: Counting objects:  50% (9/18)        
remote: Counting objects:  55% (10/18)        
remote: Counting objects:  61% (11/18)        
remote: Counting objects:  66% (12/18)        
remote: Counting objects:  72% (13/18)        
remote: Counting objects:  77% (14/18)        
remote: Counting objects:  83% (15/18)        
remote: Counting objects:  88% (16/18)        
remote: Counting objects:  94% (17/18)        
remote: Counting objects: 100% (18/18)        
remote: Counting objects: 100% (18/18), done.        
remote: Compressing objects:   8% (1/12)        
remote: Compressing objects:  16% (2/12)        
remote: Compressing objects:  25% (3/12)        
remote: Compressing objects:  33% (4/12)        
remote: Compressing objects:  41% (5/12)        
remote: Compressing objects:  50% (6/12)        
remote: Compressing objects:  58% (7/12)        
remote: Compressing objects:  66% (8/12)        
remote: Compressing objects:  75% (9/12)        
remote: Compressing objects:  83% (10/12)        
remote: Compressing objects:  91% (11/12)        
remote: Compressing objects: 100% (12/12)        
remote: Compressing objects: 100% (12/12), done.        
remote: Total 22 (delta 6), reused 6 (delta 6), pack-reused 4        
From https://github.com/python/cpython
 * branch                  main       -> FETCH_HEAD
Auto packing the repository in background for optimum performance.
See "git help gc" for manual housekeeping.
rror: cannot lock ref 'refs/remotes/origin/HEAD': Unable to create '/usr/home/buildbot/python/3.x.koobs-freebsd-564d/build/.git/refs/remotes/origin/HEAD.lock': File exists.

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.
fatal: failed to run reflog
rror: task 'gc' failed
Note: switching to 'eaede0ded72e67cee4a91c086847d54cb64ca74c'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at eaede0ded7 [bpo-44131](https://bugs.python.org/issue44131): Test Py_FrozenMain() (GH-26126)
Switched to and reset branch 'main'

./configure: PKG_PROG_PKG_CONFIG: not found

test_spwd skipped -- No module named 'spwd'
test_readline skipped -- No module named 'readline'
test_ttk_textonly skipped -- No module named '_tkinter'
test_winreg skipped -- No module named 'winreg'
test_flock (__main__.FNTLEINTRTest) ... ok
test_lockf (__main__.FNTLEINTRTest) ... ok
test_read (__main__.OSEINTRTest) ... ok
test_wait (__main__.OSEINTRTest) ... ok
test_wait3 (__main__.OSEINTRTest) ... ok
test_wait4 (__main__.OSEINTRTest) ... ok
test_waitpid (__main__.OSEINTRTest) ... ok
test_write (__main__.OSEINTRTest) ... ok
test_devpoll (__main__.SelectEINTRTest) ... skipped 'need select.devpoll'
test_epoll (__main__.SelectEINTRTest) ... skipped 'need select.epoll'
test_kqueue (__main__.SelectEINTRTest) ... ok
test_poll (__main__.SelectEINTRTest) ... ok
test_select (__main__.SelectEINTRTest) ... ok
test_sigtimedwait (__main__.SignalEINTRTest) ... ok
test_sigwaitinfo (__main__.SignalEINTRTest) ... ok
test_accept (__main__.SocketEINTRTest) ... ok
test_open (__main__.SocketEINTRTest) ... ok
test_os_open (__main__.SocketEINTRTest) ... ok
test_recv (__main__.SocketEINTRTest) ... ok
test_recvmsg (__main__.SocketEINTRTest) ... ok
test_send (__main__.SocketEINTRTest) ... ok
test_sendall (__main__.SocketEINTRTest) ... ok
test_sendmsg (__main__.SocketEINTRTest) ... ok
test_sleep (__main__.TimeEINTRTest) ... ok

----------------------------------------------------------------------
Ran 24 tests in 8.723s

OK (skipped=2)
test_badargs (__main__.GeneralTest) ... ok
test_bound_methods (__main__.GeneralTest) ... ok
test_clear (__main__.GeneralTest) ... ok
test_exit (__main__.GeneralTest) ... ok
test_order (__main__.GeneralTest) ... ok
test_raise (__main__.GeneralTest) ... ok
test_raise_unnormalized (__main__.GeneralTest) ... ok
test_stress (__main__.GeneralTest) ... ok
test_unregister (__main__.GeneralTest) ... ok

----------------------------------------------------------------------
Ran 9 tests in 0.151s

OK
test_ossaudiodev skipped -- [Errno 2] No such file or directory: '/dev/dsp'
test_dbm_gnu skipped -- No module named '_gdbm'
test_idle skipped -- No module named '_tkinter'
test_epoll skipped -- test works only on Linux 2.6
test_ttk_guionly skipped -- No module named '_tkinter'
test_turtle skipped -- No module named '_tkinter'
test_tix skipped -- No module named '_tkinter'
test_winsound skipped -- No module named 'winsound'
test_zipfile64 skipped -- test requires loads of disk-space bytes and a long time to run
test_ioctl skipped -- Unable to open /dev/tty
test_tk skipped -- No module named '_tkinter'
test_msilib skipped -- No module named '_msi'
test_devpoll skipped -- test works only on Solaris OS family
test_winconsoleio skipped -- test only relevant on win32
test_tcl skipped -- No module named '_tkinter'
test_startfile skipped -- object <module 'os' from '/usr/home/buildbot/python/3.x.koobs-freebsd-564d/build/Lib/os.py'> has no attribute 'startfile'
Warning -- files was modified by test_concurrent_futures
Warning -- files was modified by test_concurrent_futures
test_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_cancelled (test.test_concurrent_futures.FutureTests) ... ok
test_done (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_cancelled (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_failed (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_already_successful (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_raises (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_raises_already_succeeded (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_exception (test.test_concurrent_futures.FutureTests) ... ok
test_done_callback_with_result (test.test_concurrent_futures.FutureTests) ... ok
test_exception_with_success (test.test_concurrent_futures.FutureTests) ... ok
test_exception_with_timeout (test.test_concurrent_futures.FutureTests) ... ok
test_multiple_set_exception (test.test_concurrent_futures.FutureTests) ... ok
test_multiple_set_result (test.test_concurrent_futures.FutureTests) ... ok
test_repr (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_cancel (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_success (test.test_concurrent_futures.FutureTests) ... ok
test_result_with_timeout (test.test_concurrent_futures.FutureTests) ... ok
test_running (test.test_concurrent_futures.FutureTests) ... ok
test_correct_timeout_exception_msg (test.test_concurrent_futures.ProcessPoolForkAsCompletedTest) ... ok
test_duplicate_futures (test.test_concurrent_futures.ProcessPoolForkAsCompletedTest) ... ok
test_free_reference_yielded_future (test.test_concurrent_futures.ProcessPoolForkAsCompletedTest) ... ok
test_no_timeout (test.test_concurrent_futures.ProcessPoolForkAsCompletedTest) ... ok
test_zero_timeout (test.test_concurrent_futures.ProcessPoolForkAsCompletedTest) ... ok
test_crash_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_crash_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_crash_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_error_at_task_pickle (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_error_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_error_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_error_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_error_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_exit_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_exit_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_exit_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_exit_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_shutdown_deadlock (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_shutdown_deadlock_pickle (test.test_concurrent_futures.ProcessPoolForkExecutorDeadlockTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolForkFailingInitializerTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolForkInitializerTest) ... ok
test_free_reference (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_idle_process_reuse_multiple (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_idle_process_reuse_one (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_killed_child (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_map (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_map_chunksize (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_map_exception (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_map_timeout (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_max_workers_negative (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_max_workers_too_large (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... skipped 'Windows-only process limit'
test_no_stale_references (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_ressources_gced_in_workers (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_saturation (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_submit (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_submit_keyword (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_traceback (test.test_concurrent_futures.ProcessPoolForkProcessPoolExecutorTest) ... ok
test_cancel_futures (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_context_manager_shutdown (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_del_shutdown (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_hang_issue12364 (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_hang_issue39205 (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest)
shutdown(wait=False) doesn't hang at exit with running futures. ... skipped 'Hangs due to https://bugs.python.org/issue39205'
test_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_processes_terminate (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_run_after_shutdown (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_shutdown_no_wait (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_submit_after_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolForkProcessPoolShutdownTest) ... ok
test_all_completed (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_first_completed (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_first_exception (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_timeout (test.test_concurrent_futures.ProcessPoolForkWaitTest) ... ok
test_correct_timeout_exception_msg (test.test_concurrent_futures.ProcessPoolForkserverAsCompletedTest) ... ok
test_duplicate_futures (test.test_concurrent_futures.ProcessPoolForkserverAsCompletedTest) ... ok
test_free_reference_yielded_future (test.test_concurrent_futures.ProcessPoolForkserverAsCompletedTest) ... ok
test_no_timeout (test.test_concurrent_futures.ProcessPoolForkserverAsCompletedTest) ... ok
test_zero_timeout (test.test_concurrent_futures.ProcessPoolForkserverAsCompletedTest) ... ok
test_crash_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_crash_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_crash_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_error_at_task_pickle (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_error_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_error_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_error_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_error_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_exit_at_task_unpickle (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_exit_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_exit_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_exit_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_shutdown_deadlock (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_shutdown_deadlock_pickle (test.test_concurrent_futures.ProcessPoolForkserverExecutorDeadlockTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolForkserverFailingInitializerTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolForkserverInitializerTest) ... ok
test_free_reference (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_idle_process_reuse_multiple (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_idle_process_reuse_one (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_killed_child (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_map (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_map_chunksize (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_map_exception (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_map_timeout (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_max_workers_negative (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_max_workers_too_large (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... skipped 'Windows-only process limit'
test_no_stale_references (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_ressources_gced_in_workers (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_saturation (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_submit (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_submit_keyword (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_traceback (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolExecutorTest) ... ok
test_cancel_futures (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_context_manager_shutdown (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_del_shutdown (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_hang_issue12364 (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_hang_issue39205 (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest)
shutdown(wait=False) doesn't hang at exit with running futures. ... skipped 'Hangs due to https://bugs.python.org/issue39205'
test_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_processes_terminate (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_run_after_shutdown (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_shutdown_no_wait (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_submit_after_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolForkserverProcessPoolShutdownTest) ... ok
test_all_completed (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_first_completed (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_first_exception (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_timeout (test.test_concurrent_futures.ProcessPoolForkserverWaitTest) ... ok
test_correct_timeout_exception_msg (test.test_concurrent_futures.ProcessPoolSpawnAsCompletedTest) ... ok
test_duplicate_futures (test.test_concurrent_futures.ProcessPoolSpawnAsCompletedTest) ... ok
test_free_reference_yielded_future (test.test_concurrent_futures.ProcessPoolSpawnAsCompletedTest) ... ok
test_no_timeout (test.test_concurrent_futures.ProcessPoolSpawnAsCompletedTest) ... ok
test_zero_timeout (test.test_concurrent_futures.ProcessPoolSpawnAsCompletedTest) ... ok
test_crash_at_task_unpickle (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_crash_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_crash_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_error_at_task_pickle (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_error_at_task_unpickle (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_error_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_error_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_error_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_exit_at_task_unpickle (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_exit_during_func_exec_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_exit_during_result_pickle_on_worker (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_exit_during_result_unpickle_in_result_handler (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_shutdown_deadlock (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_shutdown_deadlock_pickle (test.test_concurrent_futures.ProcessPoolSpawnExecutorDeadlockTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolSpawnFailingInitializerTest) ... ok
test_initializer (test.test_concurrent_futures.ProcessPoolSpawnInitializerTest) ... ok
test_free_reference (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_idle_process_reuse_multiple (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_idle_process_reuse_one (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_killed_child (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_map (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_map_chunksize (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_map_exception (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_map_timeout (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_max_workers_negative (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_max_workers_too_large (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... skipped 'Windows-only process limit'
test_no_stale_references (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_ressources_gced_in_workers (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_saturation (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_submit (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_submit_keyword (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_traceback (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolExecutorTest) ... ok
test_cancel_futures (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_context_manager_shutdown (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_del_shutdown (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_hang_issue12364 (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_hang_issue39205 (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest)
shutdown(wait=False) doesn't hang at exit with running futures. ... skipped 'Hangs due to https://bugs.python.org/issue39205'
test_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_processes_terminate (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_run_after_shutdown (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_shutdown_no_wait (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_submit_after_interpreter_shutdown (test.test_concurrent_futures.ProcessPoolSpawnProcessPoolShutdownTest) ... ok
test_all_completed (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_first_completed (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_first_exception (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_timeout (test.test_concurrent_futures.ProcessPoolSpawnWaitTest) ... ok
test_correct_timeout_exception_msg (test.test_concurrent_futures.ThreadPoolAsCompletedTest) ... ok
test_duplicate_futures (test.test_concurrent_futures.ThreadPoolAsCompletedTest) ... ok
test_free_reference_yielded_future (test.test_concurrent_futures.ThreadPoolAsCompletedTest) ... ok
test_no_timeout (test.test_concurrent_futures.ThreadPoolAsCompletedTest) ... ok
test_zero_timeout (test.test_concurrent_futures.ThreadPoolAsCompletedTest) ... ok
test_default_workers (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_free_reference (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_idle_thread_reuse (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_map (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_map_exception (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_map_submits_without_iteration (test.test_concurrent_futures.ThreadPoolExecutorTest)
Tests verifying issue 11777. ... ok
test_map_timeout (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_max_workers_negative (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_no_stale_references (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_saturation (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_shutdown_race_issue12456 (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_submit (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_submit_keyword (test.test_concurrent_futures.ThreadPoolExecutorTest) ... ok
test_initializer (test.test_concurrent_futures.ThreadPoolFailingInitializerTest) ... ok
test_initializer (test.test_concurrent_futures.ThreadPoolInitializerTest) ... ok
test_cancel_futures (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_cancel_futures_wait_false (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_context_manager_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_del_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_hang_issue12364 (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_hang_issue39205 (test.test_concurrent_futures.ThreadPoolShutdownTest)
shutdown(wait=False) doesn't hang at exit with running futures. ... ok
test_interpreter_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_run_after_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_shutdown_no_wait (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_submit_after_interpreter_shutdown (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_thread_names_assigned (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_thread_names_default (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_threads_terminate (test.test_concurrent_futures.ThreadPoolShutdownTest) ... ok
test_all_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_first_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_first_completed_some_already_completed (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_first_exception (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_first_exception_one_already_failed (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_first_exception_some_already_complete (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_pending_calls_race (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok
test_timeout (test.test_concurrent_futures.ThreadPoolWaitTests) ... ok

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

Ran 226 tests in 212.144s

OK (skipped=6)
  Before: []
  After:  ['python.core'] 
  Before: []
  After:  ['python.core']

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.

4 participants