Commit graph

41160 commits

Author SHA1 Message Date
Victor Stinner
564e89f43b regrtest: always show before/after of modified env (#1192) (#1406)
Buildbots don't run tests with -vv and so only log "xxx was modified
by test_xxx" which is not enough to debug such random issue. In many
cases, I'm unable to reproduce the warning and so unable to fix it.

Always logging the value before and value after should help to debug
such warning on buildbots.
(cherry picked from commit ec4b17239d)
2017-05-03 02:12:22 +02:00
Antoine Pitrou
0c2ff0898d Backport bpo-30205 to 3.6 (#1403) 2017-05-03 00:14:29 +02:00
Victor Stinner
3c422b9265 bpo-30199: test_ssl closes all asyncore channels (#1381) (#1390)
AsyncoreEchoServer of test_ssl now calls
asyncore.close_all(ignore_all=True) to ensure that
asyncore.socket_map is cleared once the test completes, even if
ConnectionHandler was not correctly unregistered.

Fix the following warning:

Warning -- asyncore.socket_map was modified by test_ssl
  Before: {}
  After:  {6: <test.test_ssl.AsyncoreEchoServer.EchoServer.ConnectionHandler>}
(cherry picked from commit 1dae7450c6)
2017-05-02 16:49:10 +02:00
Victor Stinner
3076895849 bpo-30132: distutils BuildExtTestCase use temp_cwd (#1387)
BuildExtTestCase of test_distutils now uses support.temp_cwd() in
setUp() to remove files created in the current working in all
BuildExtTestCase unit tests, not only test_build_ext().

Fix the following warning:

Warning -- files was modified by test_distutils
  Before: []
  After:  ['vc140.pdb']
2017-05-02 15:50:42 +02:00
Victor Stinner
33a5d40de9 bpo-30108: Restore sys.path in test_site (#1197) (#1378)
Add setUpModule() and tearDownModule() functions to test_site to
save/restore sys.path at the module level to prevent warning if the
user site directory is created, since site.addsitedir() modifies
sys.path.
(cherry picked from commit b85c136903)
2017-05-02 11:45:42 +02:00
Serhiy Storchaka
712114b3f9 [3.6] bpo-30197: Enhance functions swap_attr() and swap_item() in test.support. (GH-1341) (#1345)
They now work when delete replaced attribute or item inside the with
statement.  The old value of the attribute or item (or None if it doesn't
exist) now will be assigned to the target of the "as" clause, if there is
one.

(cherry picked from commit d1a1def7bf)
2017-04-28 20:05:05 +03:00
Victor Stinner
e005dd9a6d bpo-30125: disable faulthandler in ctypes test_SEH (#1237) (#1343)
Disable faulthandler to run test_SEH() of test_ctypes to prevent the
following log with a traceback:

    Windows fatal exception: access violation

Add support.disable_faulthandler() context manager.
(cherry picked from commit a36e939aeb)
2017-04-28 16:06:48 +02:00
Victor Stinner
cb21f5f3d2 bpo-30131: test_logging now joins queue threads (#1298) (#1317)
QueueListenerTest of test_logging now closes the multiprocessing
Queue and joins its thread to prevent leaking dangling threads to
following tests.

Add also @support.reap_threads to detect earlier if a test leaks
threads (and try to "cleanup" these threads).
(cherry picked from commit 8ca2f2faef)
2017-04-28 04:13:53 +02:00
Victor Stinner
caa59c156d [3.6] bpo-30106: Fix test_asyncore.test_quick_connect() (#1336)
* Fix/optimize test_asyncore.test_quick_connect() (#1188)

Don't use addCleanup() in test_quick_connect() because it keeps the
Thread object alive and so @reap_threads fails on its timeout of 1
second. "./python -m test -v test_asyncore -m test_quick_connect"
now takes 185 ms, instead of 11 seconds.

Other minor changes:

* Use "with sock:" to close the socket instead of
  try/finally: sock.close()
* Use self.skipTest() in test_quick_connect() to remove one
  indentation level and notice user that the test is specific to
  AF_INET and AF_INET6

* bpo-30106: Fix tearDown() of test_asyncore (#1194)

Call asyncore.close_all() with ignore_all=True in the tearDown()
method of the test_asyncore base test case. It should prevent keeping
alive sockets in asyncore.socket_map if close() fails with an
unexpected error.

Revert also an unwanted change of my previous commit: remove name
parameter of Thread in test_quick_connect().

* bpo-30106: Fix test_asyncore.test_quick_connect() (#1234)

test_quick_connect() runs a thread up to 50 seconds, whereas the
socket is connected in 0.2 second and then the thread is expected to
end in less than 3 second. On Linux, the thread ends quickly because
select() seems to always return quickly. On FreeBSD, sometimes
select() fails with timeout and so the thread runs much longer than
expected.

Fix the thread timeout to fix a race condition in the test.
2017-04-28 04:13:37 +02:00
Victor Stinner
c9ca57eeea bpo-30107: Make SuppressCrashReport quiet on macOS (#1279) (#1335)
On macOS, SuppressCrashReport now redirects /usr/bin/defaults command
stderr into a pipe to not pollute stderr. It fixes a
test_io.test_daemon_threads_shutdown_stderr_deadlock() failure when
the CrashReporter domain doesn't exists. Message logged into stderr:

2017-04-24 16:57:21.432 defaults[41046:2462851]
The domain/default pair of (com.apple.CrashReporter, DialogType) does not exist
(cherry picked from commit d819ad9832)
2017-04-28 03:27:51 +02:00
Victor Stinner
4dc3b9cf2a bpo-30175: Skip client cert tests of test_imaplib (#1320) (#1323)
* bpo-30175: Skip client cert tests of test_imaplib

The IMAP server cyrus.andrew.cmu.edu doesn't accept our randomly
generated client x509 certificate anymore.

* bpo-30188: Catch EOFError in NetworkedNNTPTests

test_nntplib fails randomly with EOFError in
NetworkedNNTPTests.setUpClass(). Catch EOFError to skip tests in that
case.

(cherry picked from commit 5bccca58b9)
2017-04-27 18:25:03 +02:00
Mariatta
a3d8dda7d8 bpo-30098: Clarify that run_coroutine_threadsafe expects asyncio.Future (GH-1170) (#1247)
(cherry picked from commit ae5b3260dd)
2017-04-21 19:58:28 -07:00
Victor Stinner
3a8f8ea2ac bpo-30125: Fix faulthandler.disable() on Windows (#1243)
On Windows, faulthandler.disable() now removes the exception handler
installed by faulthandler.enable().
2017-04-21 23:17:33 +02:00
Victor Stinner
b984a05d55 bpo-30107: don't dump core on expected test_io crash (#1235) (#1241)
test_io has two unit tests which trigger a deadlock:

* test_daemon_threads_shutdown_stdout_deadlock()
* test_daemon_threads_shutdown_stderr_deadlock()

These tests call Py_FatalError() if the expected bug is triggered
which calls abort(). Use test.support.SuppressCrashReport to prevent
the creation on a core dump, to fix the warning:

Warning -- files was modified by test_io
  Before: []
  After:  ['python.core']
(cherry picked from commit 2a1aed04b0)
2017-04-21 18:27:29 +02:00
Mariatta
430020500c [3.6] bpo-30109: Fix reindent.py (GH-1207) (GH-1208)
Skip the file if it has bad encoding.
(cherry picked from commit 58f3c9dc8f)
2017-04-20 07:12:37 -07:00
Dong-hee Na
df5df13fdc [3.6] bpo-12414: Update code_sizeof() to take in account co_extra memory. (#1168) (#1198) 2017-04-20 11:26:25 +03:00
Berker Peksag
596e714d79 bpo-30078: Add an example of passing a path to unittest (GH-1178)
(cherry picked from commit f7e62cf8ad)
2017-04-20 07:36:57 +03:00
Serhiy Storchaka
e254617262 [3.6] bpo-30065: Fixed arguments validation in _posixsubprocess.fork_exec(). (GH-1110) (#1186)
(cherry picked from commit 66bffd1)
2017-04-19 23:59:02 +03:00
Serhiy Storchaka
39dedb6e1a [3.6] bpo-30070: Fixed leaks and crashes in errors handling in the parser module. (GH-1131). (#1184)
(cherry picked from commit a79f4c2195)
2017-04-19 23:22:19 +03:00
Serhiy Storchaka
680fea4067 bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096) (#1180)
raised an error.

(cherry picked from commit bf623ae884)
2017-04-19 21:22:49 +03:00
Serhiy Storchaka
8e5b52a8da bpo-30017: Allowed calling the close() method of the zip entry writer object (#1041) (#1092)
multiple times.  Writing to closed zip entry writer object now always produce
a ValueError.
(cherry picked from commit 4c0d9ea995)
2017-04-16 12:04:45 +03:00
Xiang Zhang
d5fa5f3ce7 bpo-30068: add missing iter(self) in _io._IOBase.readlines when hint is present (#1130) (#1150) 2017-04-15 13:25:15 +08:00
Jack McCracken
7ac96ec60e Fix misplaced positional argument in OS X support library (#1137) 2017-04-14 17:44:34 +03:00
Antoine Pitrou
413a8913ae Relax test timing (bpo-29861) to avoid sporadic failures (#1120) (#1132)
(cherry picked from commit 685cdb9acc)
2017-04-14 13:37:46 +02:00
Mariatta
cbc46afa59 [3.6] bpo-29694: race condition in pathlib mkdir with flags parents=True (GH-1089). (GH-1126)
(cherry picked from commit 22a594a004)
2017-04-13 19:26:16 -07:00
Mariatta
2cdf087d1f [3.6] bpo-29869: Allow underscores in numeric literals in lib2to3. (GH-1119) (GH-1122)
* Allow underscores in numeric literals in lib2to3.
* Stricter literal parsing for Python 3.6 in lib2to3.pgen2.tokenize.
* Add test case for underscores in literals in Python 3.
(cherry picked from commit a6e395dffa)
2017-04-13 16:54:49 -07:00
Mariatta
84c2d75489 Revert "bpo-29869: Allow underscores in numeric literals in lib2to3. (GH-752)" (GH-1109)
This reverts commit 97a40b7a5b.
The commit is supposed to go to the master branch first.
2017-04-13 04:03:16 -07:00
Nevada Sanchez
97a40b7a5b bpo-29869: Allow underscores in numeric literals in lib2to3. (GH-752) 2017-04-13 03:21:05 -07:00
Mariatta
9b409ff41c [3.6] bpo-29692: contextlib.contextmanager may incorrectly unchain RuntimeError (GH-949) (#1105)
contextlib._GeneratorContextManager.__exit__ includes a special case to deal with
PEP 479 RuntimeErrors created when `StopIteration` is thrown into the context
manager body.

Previously this check was too permissive, and undid one level of chaining on *all*
RuntimeError instances, not just those that wrapped a StopIteration instance.
(cherry picked from commit 00c75e9a45)
2017-04-13 02:50:21 -07:00
Mariatta
bd1173f202 [3.6] Clarify exception handler scope in contextlib (GH-1103)
Moved explicit raise from inside try to try...else.
(cherry picked from commit 680e20beee)
2017-04-12 20:52:39 -07:00
Mariatta
bc9025012f [3.6] Remove superfluous comment in urllib.error. (GH-1076) (GH-1101)
(cherry picked from commit 6fab78e902)
2017-04-12 20:45:54 -07:00
Xiang Zhang
14944c6230 bpo-26985: Add missing info of code object in inspect documentation (GH-1090) (GH-1099) 2017-04-13 11:14:17 +08:00
Senthil Kumaran
03066a05f5 Remove OSError related comment in urllib.request. (#1072)
(cherry picked from commit 6dfcc81f6b)
2017-04-09 20:37:44 -07:00
Senthil Kumaran
854ca174a9 Remove invalid comment in urllib.request. (#1055)
(cherry picked from commit a2a9ddd923)
2017-04-09 10:15:06 -07:00
Serhiy Storchaka
af685f9050 bpo-29998: Pickling and copying ImportError now preserves name and path (#1010) (#1042)
attributes.
(cherry picked from commit b785396ab4)
2017-04-08 11:25:47 +03:00
Senthil Kumaran
19d61b265f Remove Invalid comment in test_urllib2.py. (#1022)
(cherry picked from commit fd0cd07a5a)
2017-04-07 00:56:59 -07:00
Senthil Kumaran
ed278448da correct parse_qs and parse_qsl test case descriptions. (#968) (#997)
(cherry picked from commit 257b980b31)
2017-04-06 08:38:38 -07:00
Senthil Kumaran
c4e557ed99 Minor spell fix and formatting fixes in urllib tests. (#959) (#961)
(cherry picked from commit efbd4ea65d)
2017-04-02 01:36:58 -07:00
Senthil Kumaran
4415b823a0 Add helpful explaination to test_password_manager tests. (#936) (#941)
Also uncomment and fix a path test.
(cherry picked from commit 1f5425ff69)
2017-04-01 19:57:04 -07:00
Serhiy Storchaka
7d5d13d8d0 bpo-29953: Fix memory leaks in the replace() method of datetime and t… (#933)
objects when pass out of bound fold argument.
(cherry picked from commit 314d6fca36)
2017-03-31 23:23:49 +03:00
Senthil Kumaran
8d1f935945 Remove catching OSError in ftphandler test. Only URLError is raised in urllib.request module. (#918) (#920)
(cherry picked from commit ed3dd1c02a)
2017-03-30 23:15:51 -07:00
T. Wouters
599bb18103 bpo-29942: Fix the use of recursion in itertools.chain.from_iterable. (#911)
* bpo-29942: Fix the use of recursion in itertools.chain.from_iterable.

Fix the use of recursion in itertools.chain.from_iterable. Using recursion
is unnecessary, and can easily cause stack overflows, especially when
building in low optimization modes or with Py_DEBUG enabled.
(cherry picked from commit 5466d4af5f)
2017-03-30 12:48:23 -07:00
Serhiy Storchaka
a6b4e19022 bpo-27863: Fixed multiple crashes in ElementTree. (#765) (#903)
(cherry picked from commit 576def096e)
2017-03-30 18:08:21 +03:00
Senthil Kumaran
1b43a959fb Remove an unrequired TODO in test_urllib2. (#897) (#900)
(cherry picked from commit e6911a44f6)
2017-03-29 23:56:52 -07:00
Xiang Zhang
346dcd65e6 bpo-28699: fix abnormal behaviour of pools in multiprocessing.pool (GH-882)
an exception raised at the very first of an iterable would cause pools behave abnormally
(swallow the exception or hang)
2017-03-29 12:50:28 +08:00
Zachary Ware
bc2031470e Minor test cleanup (GH-837) (GH-838)
* Remove unused test file

* Remove duplicated text in sndhdrdata README

(cherry picked from commit b8a7daf077)
2017-03-27 00:35:56 -05:00
Mariatta
d2fc782410 import sys before we use it on line 9 (GH-828) (GH-833)
(cherry picked from commit 0579e81f30)
2017-03-26 19:53:37 -07:00
Mariatta
8b82236952 bpo-29862: Fix grammar in importlib.reload() exception (GH-809) (GH-811)
(cherry picked from commit 9f0aa4843f)
2017-03-25 03:41:59 -07:00
Serhiy Storchaka
8c8785b2f8 bpo-25803: Avoid incorrect errors raised by Path.mkdir(exist_ok=True)… (#806)
when the OS gives priority to errors such as EACCES over EEXIST.

(cherry picked from commit af7b9ec5c8)
2017-03-24 21:46:25 +02:00
Antoine Pitrou
cc3331fec8 bpo-29861: release references to multiprocessing Pool tasks (#743) (#800)
* bpo-29861: release references to multiprocessing Pool tasks (#743)

* bpo-29861: release references to multiprocessing Pool tasks

Release references to tasks, their arguments and their results as soon
as they are finished, instead of keeping them alive until another task
arrives.

* Comments in test

(cherry picked from commit 8988945cdc)

* Fix Misc/NEWS (hopefully)
2017-03-24 14:45:34 +01:00