Commit Graph

43366 Commits

Author SHA1 Message Date
Victor Stinner 7eeab87263
bpo-27903: Fix ResourceWarning in platform.dist() (GH-10792)
Fix ResourceWarning in platform.dist() and
platform.linux_distribution() on SuSE and Caldera OpenLinux.

Patch by Ville Skyttä.
2018-11-29 12:31:08 +01:00
Miss Islington (bot) 2fa5b2ac44
bpo-35189, bpo-35316: Make test_eintr less strict (GH-10782)
test_eintr no longer fails if the signal handler has not been called.
(cherry picked from commit 2956bffbc0)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-28 16:52:11 -08:00
Miss Islington (bot) d46d753d15
bpo-33723: Remove busy loop from test_time (GH-10773)
The "busy loops" of test_process_time() and test_thread_time() are
not reliable and fail randomly on Windows: remove them.
(cherry picked from commit 48498dd57f)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-28 09:58:31 -08:00
Miss Islington (bot) 24b51b1a49
bpo-34022: Stop forcing of hash-based invalidation with SOURCE_DATE_EPOCH (GH-9607)
Unconditional forcing of ``CHECKED_HASH`` invalidation was introduced in
3.7.0 in bpo-29708.  The change is bad, as it unconditionally overrides
*invalidation_mode*, even if it was passed as an explicit argument to
``py_compile.compile()`` or ``compileall``.  An environment variable
should *never* override an explicit argument to a library function.
That change leads to multiple test failures if the ``SOURCE_DATE_EPOCH``
environment variable is set.

This changes ``py_compile.compile()`` to only look at
``SOURCE_DATE_EPOCH`` if no explicit *invalidation_mode* was specified.
I also made various relevant tests run with explicit control over the
value of ``SOURCE_DATE_EPOCH``.

While looking at this, I noticed that ``zipimport`` does not work
with hash-based .pycs _at all_, though I left the fixes for
subsequent commits.
(cherry picked from commit a6b3ec5b6d)

Co-authored-by: Elvis Pranskevichus <elvis@magic.io>
2018-11-28 09:45:36 -08:00
Ismo Toijala f71a592291 bpo-34921: Allow escaped NoReturn in get_type_hints (GH-9750) (GH-10772) 2018-11-28 17:22:09 +00:00
Victor Stinner c9010456d4
pythoninfo: log more environment variable (GH-10719) (GH-10769)
Log TZ to debug a timezone issue... and a few more :-)

(cherry picked from commit 282c03d45d)
2018-11-28 18:04:30 +01:00
Miss Islington (bot) 80db40cdd6
bpo-33676: Fix dangling thread in _test_multiprocessing (GH-10755)
Fix WithThreadsTestPool.test_wrapped_exception()
of test_multiprocessing_fork: join the pool.

WithThreadsTestPool.test_del_pool() is now also decorated
with @support.reap_threads.
(cherry picked from commit b7278736b3)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-27 16:30:34 -08:00
Miss Islington (bot) d669154ee5
bpo-35317: Fix mktime() error in test_email (GH-10721)
Fix mktime() overflow error in test_email: run
test_localtime_daylight_true_dst_true() and
test_localtime_daylight_false_dst_true() with a specific timezone.
(cherry picked from commit cfaafda8e3)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-27 03:57:56 -08:00
Miss Islington (bot) 2a37f013ec
bpo-35308: Fix regression where BROWSER env var is not respected. (GH-10693)
Regression introduced in e3ce695 and 25b804a, where the old parameter
update_tryorder to _synthesize was first ignored, then given the opposite
value in the attempt to fix bpo-31014.
(cherry picked from commit 8c281ed403)

Co-authored-by: Zhiming Wang <i@zhimingwang.org>
2018-11-26 13:49:28 -08:00
Miss Islington (bot) 5350dd1b50
bpo-33723: Fix test_time.test_thread_time() (GH-10724)
Tolerate up to 30 ms, instead of 15 min, in other threads.
(cherry picked from commit 65c216e74f)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-26 12:36:54 -08:00
Victor Stinner e88553c374
bpo-35313: Fix test_embed when run from venv (GH-10713) (GH-10715)
test_embed.InitConfigTests now gets the expected configuration from
a child process run with -S to not run the site module.

(cherry picked from commit a6537fb7c2)
2018-11-26 12:42:06 +01:00
Miss Islington (bot) 6a528ccb4c closes bpo-35309: cpath should be capath (GH-10701)
(cherry picked from commit 158695817d)

Co-authored-by: Boštjan Mejak <bostjan.xperia@gmail.com>
2018-11-25 14:51:02 -06:00
Miss Islington (bot) 89a3087d40
bpo-32035: Fix words about strings and bytes in zipfile documentation. (GH-10592)
(cherry picked from commit 4bb186d7e2)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-11-25 01:30:37 -08:00
Miss Islington (bot) 903a3e8d67
bpo-29877: compileall: import ProcessPoolExecutor only when needed (GH-4856)
Importing ProcessPoolExecutor may hang or cause an error when the import
accesses urandom on a low resource platform

https://bugs.python.org/issue29877
(cherry picked from commit 1d817e4c82)

Co-authored-by: Dustin Spicuzza <dustin@virtualroadside.com>
2018-11-23 09:41:54 -08:00
Miss Islington (bot) 01e579949a
bpo-34812: subprocess._args_from_interpreter_flags(): add isolated (GH-10675)
The "-I" command line option (run Python in isolated mode) is now
also copied by the multiprocessing and distutils modules when
spawning child processes. Previously, only -E and -s options (enabled
by -I) were copied.

subprocess._args_from_interpreter_flags() now copies the -I flag.
(cherry picked from commit 9de3632715)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-23 09:13:32 -08:00
Victor Stinner 56742f1eb0
[3.7] bpo-35189: Retry fnctl calls on EINTR (GH-10413) (GH-10678)
* bpo-35189: Fix eintr_tester.py (GH-10637)

Call setitimer() before each test method, instead of once per test
case, to ensure that signals are sent in each test method.
Previously, only the first method of a testcase class got signals.

Changes:

* Replace setUpClass() with setUp() and replace tearDownClass() with
  tearDown().
* tearDown() now ensures that at least one signal has been sent.
* Replace support.run_unittest() with unittest.main() which has
  a nicer CLI and automatically discover test cases.

(cherry picked from commit aac1f81eef)

* bpo-35189: Retry fnctl calls on EINTR (GH-10413)

Modify the following fnctl function to retry if interrupted by a signal
(EINTR): flock, lockf, fnctl.

(cherry picked from commit b409ffa848)
Co-Authored-By: nierob <nierob@users.noreply.github.com>
2018-11-23 17:53:14 +01:00
Victor Stinner a519411573
Revert "bpo-35239: _PySys_EndInit() copies module_search_path (GH-10532)" (GH-10660)
This reverts commit d2be9a5c13.
2018-11-22 16:11:15 +01:00
Miss Islington (bot) d57ab8ac18
bpo-35021: Fix assertion failures in _datetimemodule.c. (GH-10039)
Fixes assertion failures in _datetimemodule.c
introduced in the previous fix (see bpo-31752).

Rather of trying to handle an int subclass as exact int,
let it to use overridden special methods, but check the
result of divmod().
(cherry picked from commit 3ec0f49516)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-11-20 10:59:12 -08:00
Miss Islington (bot) c743a6ac36 Upgrade pip to 18.1 and setuptools to 40.6.2 (GH-10598)
(cherry picked from commit 8b9c33ea9c)

Co-authored-by: Donald Stufft <donald@stufft.io>
2018-11-19 08:07:34 -05:00
Victor Stinner 0e1312c959
bpo-35233: test_embed: fix filesystem encoding (GH-10597)
Fix InitConfigTests: if utf8_mode is enabled, the expected filesystem
encoding is UTF-8.
2018-11-19 10:05:55 +01:00
Miss Islington (bot) f415aa1eef
Add --tempdir option for test run (GH-10322)
(cherry picked from commit 38df97a03c)

Co-authored-by: Steve Dower <steve.dower@microsoft.com>
2018-11-17 04:31:47 -08:00
Miss Islington (bot) 3a600d224c
bpo-35202: Remove more unused imports in idlelib (GH-10573)
(cherry picked from commit 5a087d5401)

Co-authored-by: Srinivas Reddy Thatiparthy (శ్రీనివాస్  రెడ్డి తాటిపర్తి) <thatiparthysreenivas@gmail.com>
2018-11-16 22:48:40 -08:00
Miss Islington (bot) 0461c3b635
bpo-35250: Correct argument name "num" -> "btn" in turtle docs. (GH-10565)
(cherry picked from commit 4edeaeac4c)

Co-authored-by: Srinivas  Thatiparthy (శ్రీనివాస్  తాటిపర్తి) <thatiparthysreenivas@gmail.com>
2018-11-16 05:55:14 -08:00
Miss Islington (bot) d2be9a5c13
bpo-35239: _PySys_EndInit() copies module_search_path (GH-10532)
* The _PySys_EndInit() function now copies the
  config->module_search_path list, so config is longer modified when
  sys.path is updated.
* config->warnoptions list and config->xoptions dict are also copied
* test_embed: InitConfigTests now also tests
  main_config['module_search_path']
* Fix _Py_InitializeMainInterpreter(): don't use config->warnoptions
   but sys.warnoptions to decide if the warnings module should
   be imported at startup.
(cherry picked from commit 37cd982df0)

Co-authored-by: Victor Stinner <vstinner@redhat.com>
2018-11-16 03:34:35 -08:00
Miss Islington (bot) 579c417564
bpo-35213: Where appropriate, use 'macOS' in idlelib. (GH-10478)
(cherry picked from commit b65413b497)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-11-15 11:31:31 -08:00
Victor Stinner 9ee1d42f01
bpo-35233: InitConfigTests tests more config vars (GH-10541) (GH-10546)
test_embed.InitConfigTests tests more configuration variables.

Changes:

* InitConfigTests tests more core configuration variables:

  * base_exec_prefix
  * base_prefix
  * exec_prefix
  * home
  * module_search_path_env
  * prefix

* "_testembed init_from_config" tests more variables:

  * argv
  * warnoptions
  * xoptions

* Py_HasFileSystemDefaultEncoding value is no longer tested since it
  depends on the LC_CTYPE locale and the platform.
* InitConfigTests: add check_global_config(), check_core_config() and
  check_main_config() subfunctions to cleanup the code. Move also
  constants at the class level (ex: COPY_MAIN_CONFIG).
* Use more macros in _PyCoreConfig_AsDict() and
  _PyMainInterpreterConfig_AsDict() to reduce code duplication.
* Other minor cleanups.

(cherry picked from commit 01de89cb59)
2018-11-14 18:58:01 +01:00
Victor Stinner bc09ee8bc9
bpo-35233: Fix test_embed.InitConfigTests on macOS (GH-10539)
On macOS and Windows, Py_HasFileSystemDefaultEncoding is 1 by
default.
2018-11-14 11:36:47 +01:00
Victor Stinner 88cbea4c6f
bpo-35233: Fix _PyMainInterpreterConfig_Copy() (GH-10537)
Fix _PyMainInterpreterConfig_Copy(): copy 'install_signal_handlers'
attribute
2018-11-14 02:45:25 +01:00
Victor Stinner 35c28d562e
[3.7] bpo-35233: Rewrite test_embed.InitConfigTests (GH-10524) (GH-10529)
* Add C functions:

  * _Py_GetGlobalVariablesAsDict()
  * _PyCoreConfig_AsDict()
  * _PyMainInterpreterConfig_AsDict()

* Add new _testcapi methods:

  * get_global_config()
  * get_core_config()
  * get_main_config()

* test.pythoninfo: get global, core and main configuration
* _testembed now serializes global, core and main configurations
  using JSON to reuse _Py_GetGlobalVariablesAsDict(),
  _PyCoreConfig_AsDict() and _PyMainInterpreterConfig_AsDict(),
  rather than duplicating code.
* test_embed.InitConfigTests now test much more configuration
  variables
2018-11-14 02:01:52 +01:00
Victor Stinner d57a3e5d03
bpo-29564:_PyMem_DumpTraceback() suggests enabling tracemalloc (GH-10510) (GH-10517)
If tracemalloc is not tracing Python memory allocations,
_PyMem_DumpTraceback() now suggests to enable tracemalloc
to get the traceback where the memory block has been allocated.
2018-11-13 15:50:56 +01:00
Miss Islington (bot) 3f9fe53c98
bpo-35031: Fix test_start_tls_server_1 on FreeBSD buildbots (GH-10011)
Some FreeBSD buildbots fail to run this test as the eof was not being received by the server if the size is not big enough. This behaviour only appears if the client is using TLS1.3.
(cherry picked from commit f6a47f3e31)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-11-12 17:24:39 -08:00
Miss Islington (bot) b91c27d89d
bpo-34864: Document two IDLE on MacOS issues. (GH-10456)
The System Preferences Dock "prefer tabs always" setting disables some
IDLE features.  Menus are a bit different than as described for Windows
and Linux.
(cherry picked from commit 50ff02b431)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-11-10 20:46:12 -08:00
Miss Islington (bot) 2847ccae46
bpo-35202: Remove unused imports in idlelib (GH-10438)
(cherry picked from commit 43a74abb3a)

Co-authored-by: Srinivas  Thatiparthy (శ్రీనివాస్  తాటిపర్తి) <thatiparthysreenivas@gmail.com>
2018-11-09 23:06:22 -08:00
Miss Islington (bot) f16ebcd460
bpo-35193: Fix an off by one error in the RETURN_VALUE case. (GH-10418)
Fix an off by one error in the peephole optimizer when checking for unreachable code beyond a return.

Do a bounds check within find_op so it can return before going past the end as a safety measure.

7db3c48833GH-diff-a33329ae6ae0bb295d742f0caf93c137
introduced this off by one error while fixing another one nearby.

This bug was shipped in all Python 3.6 and 3.7 releases.

The included unittest won't fail unless you do a clang msan build.
(cherry picked from commit 49fa4a9f1e)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2018-11-08 18:13:14 -08:00
Miss Islington (bot) 9d3658147b
bpo-34966: Improve support of method aliases in pydoc. (GH-9823)
Pydoc now does not duplicate docstrings for aliases of inherited methods.
(cherry picked from commit a44d34e179)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-11-07 23:08:05 -08:00
Miss Islington (bot) 3ba5e253de
Revert "bpo-32409: Fix regression in activate.bat on international Windows (GH-10295)" (GH-10403)
This reverts commit c64583b6d3 due to multiple buildbot failures when building it.
(cherry picked from commit 6843ffe453)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-11-07 16:13:58 -08:00
Miss Islington (bot) b097f9fe2b
Fix the construction of subprocess.CalledProcessError in test_venv (GH-10400)
The constructor of subprocess.CalledProcessError in the check_output function had an extra None in it.
(cherry picked from commit b93925047a)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-11-07 14:39:21 -08:00
Miss Islington (bot) 881e273c79 bpo-32409: Fix regression in activate.bat on international Windows (GH-10295) (GH-10377)
Handle Unicode contents on localised Windows systems when activating a
venv. activate.bat currently breaks on German Windows systems, as chcp.com does
not return a plain number as on English systems, but (arbitrarily) appends a dot at the end
(for example "Aktive Codepage: 850." instead of "Active Codepage: 850"). The
dependency to chcp.com is removed and ctypes is used to get, set and restore the
console output code page. The code page for console input is not changed.

We can't use __VENV_PYTHON__ to find python.exe, since it's UTF-8. cmd.exe decodes
the script using the console output code page.
(cherry picked from commit c64583b6d3)

Co-authored-by: samstagern <30337691+samstagern@users.noreply.github.com>
2018-11-07 19:26:15 +00:00
Miss Islington (bot) 2b2a8c130c
bpo-33000: Document that IDLE's shell has no line limit. (GH-10373)
A program that runs indefinitely can overfill memory.
(cherry picked from commit 76cd0c30d6)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-11-06 21:06:54 -08:00
Miss Islington (bot) 34fcee9ed8
bpo-23220: Explain how IDLE's Shell displays output (GH-10356)
Add a new subsection to the doc.
(cherry picked from commit 75d9d59ab3)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-11-06 10:27:20 -08:00
Miss Islington (bot) ca592bcf56
closes bpo-35171: Fix test_TimeRE_recreation_timezone failure on some systems. (GH-10347)
The test depended on '/usr/share/zoneinfo/posixrules' or equivalent
because it set TZ without explicit DST transition rules. At least
on OpenSUSE Tumbleweed that file is linked to '/etc/localtime',
making the test fail with certain local timezones,
such as 'Europe/Moscow' which doesn't have DST transitions since 2011.
(cherry picked from commit f1b9ad3d38)

Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
2018-11-05 20:47:11 -08:00
Miss Islington (bot) 4a46295a95
bpo-35099: Update idlelib/help.html (GH-10353)
(This should have been done with the first PR for this issue.)
(cherry picked from commit f1d3efc2fb)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-11-05 19:36:12 -08:00
Miss Islington (bot) 7beb8c54ed
bpo-35133: Fix mistakes when concatenate string literals on different lines. (GH-10284)
Two kind of mistakes:

1. Missed space. After concatenating there is no space between words.

2. Missed comma. Causes unintentional concatenating in a list of strings.
(cherry picked from commit 34fd4c2019)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-11-05 06:52:58 -08:00
Miss Islington (bot) 96fb350bfd bpo-21263: Skip test_gdb when python has been compiled with LLVM clang (GH-10318) (GH-10325)
(cherry picked from commit 59668aa8b7)

Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
2018-11-04 16:40:02 -05:00
Serhiy Storchaka 5e0537cf7e
[3.7] bpo-35128: Fix spacing issues in warning.warn() messages. (GH-10268). (GH-10280)
(cherry picked from commit 4b5e62dbb2)

Co-authored-by: Pablo Aguiar <scorphus@gmail.com>
2018-11-01 14:19:23 +02:00
Miss Islington (bot) 71b6c1af72
bpo-35062: Fix parsing _io.IncrementalNewlineDecoder's *translate* argument. (GH-10217)
_io.IncrementalNewlineDecoder's initializer possibly assigns out-of-range
value to the bitwise struct field.
(cherry picked from commit b08746bfdf)

Co-authored-by: Xiang Zhang <angwerzx@126.com>
2018-10-31 05:36:20 -07:00
Miss Islington (bot) 58f7bf3a89
bpo-34945: Buffer output in test suite only when creating junit file (GH-10204)
After commit d0f49d2f50, the output of the
test suite is always buffered as the test output needs to be included in
the JUnit file in same cases (as when a test fails). This has the
consequence that printing or using debuggers (like pdb) in the test
suite does not result in a good user experience anymore.

This commit modifies the test suite runner so it only captures the test
output when the JUnit file is requested to fix the regression so prints
and debuggers are usable again.
(cherry picked from commit 02277482ea)

Co-authored-by: Pablo Galindo <Pablogsal@gmail.com>
2018-10-29 14:05:31 -07:00
Miss Islington (bot) 1a3f18e2c5
bpo-35097: Add IDLE doc subsection explaining editor windows. (GH-10206)
Topics include opening, title and status bar, .py* extension, and running.
(cherry picked from commit ea9c8bd443)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-10-28 18:51:33 -07:00
Miss Islington (bot) ff8d626f3a
Issue 35093: Document the IDLE document viewer in the IDLE doc. (GH-10195)
Add a paragraph in "Help and preferences", "Help sources" subsection.
(cherry picked from commit 18032632ab)

Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2018-10-28 13:39:38 -07:00
Miss Islington (bot) 1cea3843de [3.7] Fix checking for bugfix Tcl version. (GH-10185) (GH-10186)
(cherry picked from commit 18d57b4d62)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2018-10-28 20:57:04 +02:00