Permalink
Checking mergeability…
Don’t worry, you can still create the pull request.
Comparing changes
Open a pull request
100
contributors
This comparison is big! We’re only showing the most recent
250
commits
Commits on Sep 13, 2019
…H-16108) (GH-16114) https://bugs.python.org/issue34706 Specifically in the case of a class that does not override its constructor signature inherited from object. These are Buck Evan @bukzor's changes cherrypicked from GH-9344. (cherry picked from commit 5b9ff7a) Co-authored-by: Gregory P. Smith <greg@krypto.org>
(cherry picked from commit 0bc17ea) Co-authored-by: Benjamin Peterson <benjamin@python.org>
Commits on Sep 14, 2019
(cherry picked from commit a26ace1) Co-authored-by: Anthony Sottile <asottile@umich.edu>
Typically, the second positional argument for ``seek()`` is *whence*. That is the POSIX standard name (http://man7.org/linux/man-pages/man3/lseek.3p.html) and the name listed in the documentation for ``io`` module (https://docs.python.org/3/library/io.htmlGH-io.IOBase.seek). The tutorial for IO is the only location where the second positional argument for ``seek()`` is referred to as *from_what*. I suspect this was created at an early point in Python's history, and was never updated (as this section predates the GitHub repository): ``` $ git grep "from_what" Doc/tutorial/inputoutput.rst:To change the file object's position, use ``f.seek(offset, from_what)``. The position is computed Doc/tutorial/inputoutput.rst:the *from_what* argument. A *from_what* value of 0 measures from the beginning Doc/tutorial/inputoutput.rst:the reference point. *from_what* can be omitted and defaults to 0, using the ``` For consistency, I am suggesting that the tutorial be updated to use the same argument name as the IO documentation and POSIX standard for ``seek()``, particularly since this is the only location where *from_what* is being used. Note: In the POSIX standard, *whence* is technically the third positional argument, but the first argument *fildes* (file descriptor) is implicit in Python. https://bugs.python.org/issue37635 (cherry picked from commit ff603f6) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Commits on Sep 15, 2019
) https://bugs.python.org/issue38178 (cherry picked from commit c717c73) Co-authored-by: Hrvoje Nikšić <hniksic@gmail.com>
Commits on Sep 16, 2019
(cherry picked from commit 24d1597) Co-authored-by: Ned Deily <nad@python.org>
…H-16136) (GH-16175) (cherry picked from commit 56a4514) Co-authored-by: Hai Shi <shihai1992@gmail.com> Automerge-Triggered-By: @zhangyangyu
https://bugs.python.org/issue38100 Automerge-Triggered-By: @matrixise
(cherry picked from commit 336b306) Co-authored-by: amist <amistern0@gmail.com>
…GH-16140) (GH-16200) ``OPENSSL_VERSION_1_1`` was never defined in ``_hashopenssl.c``. https://bugs.python.org/issue33936 (cherry picked from commit 724f1a5) Co-authored-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue33936 Automerge-Triggered-By: @tiran
This PR replaces the old note mentioning that `typing` is a provisional module with a new one mentioning types are not enforced at runtime. I am not sure if there was any official announcement about making `typing` non-provisional, but _de-facto_ no new features were added during Python 3.7, and no backwards incompatible changes were made except for few small things that were considered bugs. (cherry picked from commit 81528ba) Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
Commits on Sep 17, 2019
It no longer tries to create or access .idlerc or any files within. Users must run IDLE to discover problems with saving settings. (cherry picked from commit 0048afc) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
One happens when EditorWindow.close is called twice. Printing a traceback, when IDLE is run from a terminal, is useless and annoying. (cherry picked from commit dfd34a9) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
…H-16202) See https://bugs.python.org/issue38192 . https://bugs.python.org/issue38192 (cherry picked from commit 5d359cc) Co-authored-by: Hrvoje Nikšić <hniksic@gmail.com>
(cherry picked from commit 219fb9d) Co-authored-by: Jörn Heissler <joernheissler@users.noreply.github.com>
…16223) When using multiprocesss (-jN), the main process now uses a timeout of 60 seconds instead of the double of the --timeout value. The buildbot server stops a job which does not produce any output in 1200 seconds. (cherry picked from commit 46b0b81) Co-authored-by: Victor Stinner <vstinner@redhat.com>
…ceptions (GH-16070) Even when the helper is not started yet. This behavior follows conventional generator one. There is no reason for `async_generator_athrow` to handle `gen.throw()` differently. https://bugs.python.org/issue38013 (cherry picked from commit c275312) Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Commits on Sep 18, 2019
A little change on first paragraph of python tutorial to be more clearly https://bugs.python.org/issue37904 Automerge-Triggered-By: @ericvsmith (cherry picked from commit b574813) Co-authored-by: Diego Alberto Barriga Martínez <diegobarriga@protonmail.com>
Commits on Sep 19, 2019
(cherry picked from commit 3171d67) Co-authored-by: toonarmycaptain <toonarmycaptain@hotmail.com>
Commits on Sep 20, 2019
(cherry picked from commit 062cfe3) Co-authored-by: Prateek Nayak <45075669+Kriyszig@users.noreply.github.com>
Mention frame.f_trace in sys.settrace docs, as well as the fact you still need to call `sys.settrace` to enable the tracing machinery before setting `frame.f_trace` will have any effect. (cherry picked from commit 9c2682e) Co-authored-by: Ram Rachum <ram@rachum.com>
Commits on Sep 21, 2019
(cherry picked from commit bb16fb2) Co-authored-by: HongWeipeng <hongweichen8888@sina.com>
Commits on Sep 22, 2019
Commits on Sep 24, 2019
Multiprocessing test test_mymanager() now also expects -SIGTERM, not only exitcode 0. bpo-30356: BaseManager._finalize_manager() sends SIGTERM to the manager process if it takes longer than 1 second to stop, which happens on slow buildbots. (cherry picked from commit b0e1ae5) Co-authored-by: Victor Stinner <vstinner@redhat.com>
Commits on Sep 25, 2019
…H-16374) Handle spec errors in assert_has_calls (GH-16005) (GH-16364) The fix in PR 13261 handled the underlying issue about the spec for specific methods not being applied correctly, but it didn't fix the issue that was causing the misleading error message. The code currently grabs a list of responses from _call_matcher (which may include exceptions). But it doesn't reach inside the list when checking if the result is an exception. This results in a misleading error message when one of the provided calls does not match the spec. https://bugs.python.org/issue36871 Co-authored-by: Samuel Freilich <sfreilich@google.com> (cherry picked from commit 1a17a05)
Add docs about return and raise exception on asyncio.run https://bugs.python.org/issue38260 Automerge-Triggered-By: @asvetlov (cherry picked from commit 17deb16) Co-authored-by: Emmanuel Arias <emmanuelarias30@gmail.com>
The private keys for test_ssl were encrypted with 3DES in traditional PKCSGH-5 format. 3DES and the digest algorithm of PKCSGH-5 are blocked by some strict crypto policies. Use PKCSGH-8 format with AES256 encryption instead. Signed-off-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue38271 Automerge-Triggered-By: @tiran (cherry picked from commit bfd0c96) Co-authored-by: Christian Heimes <christian@python.org>
Commits on Sep 26, 2019
…6407) Fixes CVE-2019-15903. See full changelog at https://github.com/libexpat/libexpat/blob/R_2_2_8/expat/Changes.. (cherry picked from commit 52b9408) Co-authored-by: Benjamin Peterson <benjamin@python.org>
test_ssl now handles disabled TLS/SSL versions better. OpenSSL's crypto policy and run-time settings are recognized and tests for disabled versions are skipped. Signed-off-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue38275 (cherry picked from commit df6ac7e)
Commits on Sep 27, 2019
Escape the server title of xmlrpc.server.DocXMLRPCServer when rendering the document page as HTML. (cherry picked from commit e8650a4) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
Commits on Sep 28, 2019
…alidation and encoding behavior (GH-16448) (GH-16461) * bpo-38216: Allow bypassing input validation * bpo-36274: Also allow the URL encoding to be overridden. * bpo-38216, bpo-36274: Add tests demonstrating a hook for overriding validation, test demonstrating override encoding, and a test to capture expectation of the interface for the URL. * Call with skip_host to avoid tripping on the host checking in the URL. * Remove obsolete comment. * Make _prepare_path_encoding its own attr. This makes overriding just that simpler. Also, don't use the := operator to make backporting easier. * Add a news entry. * _prepare_path_encoding -> _encode_prepared_path() * Once again separate the path validation and request encoding, drastically simplifying the behavior. Drop the guarantee that all processing happens in _prepare_path.. (cherry picked from commit 7774d78) Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Commits on Sep 29, 2019
Commits on Oct 01, 2019
* Windows: Fix counter name in WindowsLoadTracker. Counter names are localized: use the registry to get the counter name. Original change written by Lorenz Mende. * Regrtest.main() now ensures that the Windows load tracker is also killed if an exception is raised * TestWorkerProcess now ensures that worker processes are no longer running before exiting: kill also worker processes when an exception is raised. * Enhance regrtest messages and warnings: include test name, duration, add a worker identifier, etc. * Rename MultiprocessRunner to TestWorkerProcess * Use print_warning() to display warnings. Co-Authored-By: Lorenz Mende <Lorenz.mende@gmail.com> (cherry picked from commit 982bfa4) Co-authored-by: Victor Stinner <vstinner@redhat.com>
(cherry picked from commit 891e9e3) Co-authored-by: Géry Ogam <gery.ogam@gmail.com>
Commits on Oct 02, 2019
test.pythoninfo now logs environment variables used by OpenSSL and Python ssl modules, and logs attributes of 3 SSL contexts (SSLContext, default HTTPS context, stdlib context). (cherry picked from commit b3e7045) Co-authored-by: Victor Stinner <vstinner@python.org>
Commits on Oct 03, 2019
…H-16550) (GH-16560) * bpo-36670, regrtest: Fix WindowsLoadTracker() for partial line (GH-16550) WindowsLoadTracker.read_output() now uses a short buffer for incomplete line. (cherry picked from commit 3e04cd2) * bpo-36670: Enhance regrtest WindowsLoadTracker (GH-16553) The last line is now passed to the parser even if it does not end with a newline, but only if it's a valid value. (cherry picked from commit c65119d) * bpo-36670: Enhance regrtest (GH-16556) * Add log() method: add timestamp and load average prefixes to main messages. * WindowsLoadTracker: * LOAD_FACTOR_1 is now computed using SAMPLING_INTERVAL * Initialize the load to the arithmetic mean of the first 5 values of the Processor Queue Length value (so over 5 seconds), rather than 0.0. * Handle BrokenPipeError and when typeperf exit. * format_duration(1.5) now returns '1.5 sec', rather than '1 sec 500 ms' (cherry picked from commit 098e256) (cherry picked from commit de3195c) Co-authored-by: Victor Stinner <vstinner@python.org>
) (cherry picked from commit b23a842) Co-authored-by: idomic <michael.ido@gmail.com>
Commits on Oct 04, 2019
…cl. (GH-16545) On Windows use UTF-16 (or UTF-32 for 32-bit Tcl_UniChar) with the "surrogatepass" error handler for converting to/from Tcl Unicode objects. On Linux use UTF-8 with the "surrogateescape" error handler for converting to/from Tcl String objects. Converting strings from Tcl to Python and back now never fails (except MemoryError). (cherry picked from commit 06cb94b) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Commits on Oct 06, 2019
Commits on Oct 07, 2019
…16588) The `required` argument to `argparse.add_subparsers` was added in GH-3027. This PR specifies the earliest version of Python where it is available. https://bugs.python.org/issue26510 Automerge-Triggered-By: @merwok (cherry picked from commit 9e71917) Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
(cherry picked from commit 038503e) Co-authored-by: Krishna Oza <krishoza15sep@gmail.com>
(cherry picked from commit e310af9) Co-authored-by: James Abel <j@abel.co>
Commits on Oct 08, 2019
(cherry picked from commit 5dfbb4d) Co-authored-by: Hansraj Das <raj.das.136@gmail.com>
Valgrind emits "Conditional jump or move depends on uninitialised value(s)" false alarms on GCC builtin strcmp() function. The GCC code is correct. Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=264936 (cherry picked from commit 03ab6b4) Co-authored-by: Victor Stinner <vstinner@python.org>
…umentation. (GH-16442) (GH-16647) Prior to 3.7, re.escape escaped many characters that don't have special meaning in Python, but that use to require escaping in other tools and languages. This commit aims to make it clear which characters were, but are no longer escaped. (cherry picked from commit 15ae75d)
Commits on Oct 09, 2019
(cherry picked from commit 01171eb) Co-authored-by: Hansraj Das <raj.das.136@gmail.com>
Bump the removal to 3.9, indicate collections.abc available since 3.3, replace version-changed directive to deprecated-removed. https://bugs.python.org/issue36953 (cherry picked from commit eea47e0) Co-authored-by: Matthias Bussonnier <mbussonnier@ucmerced.edu>
bpo-37531, bpo-38207: On timeout, regrtest no longer attempts to call `popen.communicate() again: it can hang until all child processes using stdout and stderr pipes completes. Kill the worker process and ignores its output. Reenable test_regrtest.test_multiprocessing_timeout(). bpo-37531: Change also the faulthandler timeout of the main process from 1 minute to 5 minutes, for Python slowest buildbots. (cherry picked from commit 0ec618a) Co-authored-by: Victor Stinner <vstinner@python.org>
…H-16658) (GH-16685) * [bpo-38379](https://bugs.python.org/issue38379): when a finalizer resurrects an object, nothing is actually collected in this run of gc. Change the stats to relect that truth.. (cherry picked from commit ecbf35f) Co-authored-by: Tim Peters <tim.peters@gmail.com> https://bugs.python.org/issue38379 Automerge-Triggered-By: @pablogsal
Commits on Oct 10, 2019
(cherry picked from commit a05fcd3) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
PR GH-4906 changed the typing.Generic class hierarchy, leaving an outdated comment in the library reference. User-defined Generic ABCs now must get a abc.ABCMeta metaclass from something other than typing.Generic inheritance. (cherry picked from commit d47f0dd) Co-authored-by: M. Eric Irrgang <mei2n@virginia.edu>
Commits on Oct 11, 2019
(cherry picked from commit a8e0d31) Co-authored-by: Hansraj Das <raj.das.136@gmail.com>
…H-16663) The implementation of weakref.proxy's methods call back into the Python API using a borrowed references of the weakly referenced object (acquired via PyWeakref_GET_OBJECT). This API call may delete the last reference to the object (either directly or via GC), leaving a dangling pointer, which can be subsequently dereferenced. To fix this, claim a temporary ownership of the referenced object when calling the appropriate method. Some functions because at the moment they do not need to access the borrowed referent, but to protect against future changes to these functions, ownership need to be fixed in all potentially affected methods.. (cherry picked from commit 10cd00a) Co-authored-by: Pablo Galindo <Pablogsal@gmail.com> https://bugs.python.org/issue38395
Commits on Oct 12, 2019
) Add SMTPNotSupportedError in the exports of smtplib Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com> (cherry picked from commit 3faf826) Co-authored-by: nde <denayer.norman@gmail.com>
KeyError should cause a failure in parsing the encoded word and should be caught and raised as a _InvalidEWError instead. (cherry picked from commit 65dcc8a) Co-authored-by: Andrei Troie <andreitroie90@gmail.com>
…low oper parsing of URLs (GH-15685)" (GH-16724) (GH-16727) Reverts GH-15687 which caused the issue. https://bugs.python.org/issue22347 https://bugs.python.org/issue38449
Commits on Oct 13, 2019
…ocs (GH-16743) Metaclass was removed in Python 3.7 (there is already a `versionchanged` item about this). https://bugs.python.org/issue28556 (cherry picked from commit 8144095) Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
Commits on Oct 14, 2019
…16588) The `required` argument to `argparse.add_subparsers` was added in GH-3027. This PR specifies the earliest version of Python where it is available. https://bugs.python.org/issue26510 Automerge-Triggered-By: @merwok (cherry picked from commit 9e71917) Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
…umentation. (GH-16442) (GH-16647) Prior to 3.7, re.escape escaped many characters that don't have special meaning in Python, but that use to require escaping in other tools and languages. This commit aims to make it clear which characters were, but are no longer escaped. (cherry picked from commit 15ae75d)
Bump the removal to 3.9, indicate collections.abc available since 3.3, replace version-changed directive to deprecated-removed. https://bugs.python.org/issue36953 (cherry picked from commit eea47e0) Co-authored-by: Matthias Bussonnier <mbussonnier@ucmerced.edu>
PR GH-4906 changed the typing.Generic class hierarchy, leaving an outdated comment in the library reference. User-defined Generic ABCs now must get a abc.ABCMeta metaclass from something other than typing.Generic inheritance. (cherry picked from commit d47f0dd) Co-authored-by: M. Eric Irrgang <mei2n@virginia.edu>
…low oper parsing of URLs (GH-15685)" (GH-16724) (GH-16727) Reverts GH-15687 which caused the issue. https://bugs.python.org/issue22347 https://bugs.python.org/issue38449
…ocs (GH-16743) Metaclass was removed in Python 3.7 (there is already a `versionchanged` item about this). https://bugs.python.org/issue28556 (cherry picked from commit 8144095) Co-authored-by: Ivan Levkivskyi <levkivskyi@gmail.com>
Commits on Oct 15, 2019
(cherry picked from commit 2798b60) Co-authored-by: Hansraj Das <raj.das.136@gmail.com>
(cherry picked from commit 3f36043) Co-authored-by: Ned Deily <nad@python.org>
Commits on Oct 16, 2019
…16818) main() is now responsible to send the ANSWER, rather than ServerProto. main() now waits until it got the HELLO before sending the ANSWER over the new transport. Previously, there was a race condition between main() replacing the protocol and the protocol sending the ANSWER once it gets the HELLO. TLSv1.3 was disabled for the test: reenable it. (cherry picked from commit fab4ef2)
Commits on Oct 18, 2019
* bpo-27657: Fix urlparse() with numeric paths Revert parsing decision from bpo-754016 in favor of the documented consensus in bpo-16932 of how to treat strings without a // to designate the netloc. * bpo-22891: Remove urlsplit() optimization for 'http' prefixed inputs. (cherry picked from commit 5a88d50) Co-authored-by: Tim Graham <timograham@gmail.com>
Commits on Oct 19, 2019
The Nose package is no longer maintained. (cherry picked from commit 88eeda6) Co-authored-by: Jon Dufresne <jon.dufresne@gmail.com>
Commits on Oct 21, 2019
Commits on Oct 22, 2019
(cherry picked from commit dfe726b) Co-authored-by: Kyle Stanley <aeros167@gmail.com>
Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks atomic_uintptr_t type which is needed by Python. Test: * atomic_int and atomic_uintptr_t types * atomic_load_explicit() and atomic_store_explicit() * memory_order_relaxed and memory_order_seq_cst constants But don't test ATOMIC_VAR_INIT(): it's not used in Python. (cherry picked from commit 028f734) Co-authored-by: Victor Stinner <vstinner@python.org>
Commits on Oct 23, 2019
(cherry picked from commit d34ac30) Co-authored-by: Peter Bittner <django@bittner.it>
(cherry picked from commit 01659ca) Co-authored-by: Ned Deily <nad@python.org>
Commits on Oct 24, 2019
These are valid even in python 2.7 https://bugs.python.org/issue33348 Automerge-Triggered-By: @gpshead (cherry picked from commit 96b06ae) Co-authored-by: Zsolt Dollenstein <zsol.zsol@gmail.com>
Commits on Oct 25, 2019
numbers's -> number's (cherry picked from commit 7320ec0) Co-authored-by: Hansraj Das <raj.das.136@gmail.com>
Commits on Oct 26, 2019
(cherry picked from commit d898d20) Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Commits on Oct 27, 2019
(cherry picked from commit e3f90b2) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit e31a79a) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
) (cherry picked from commit 85c6f8c) Co-authored-by: Marco Rougeth <marco@rougeth.com>
Commits on Oct 28, 2019
Commits on Oct 29, 2019
Update open() documentation. (cherry picked from commit 1d2862a) Co-authored-by: Victor Stinner <vstinner@python.org>
Commits on Oct 31, 2019
Change the url from docs.python-requests.org to requests.readthedocs.io (cherry picked from commit 112f2b8) Co-authored-by: Simon Legner <Simon.Legner@gmail.com>
Commits on Nov 02, 2019
Whenever I use `path.suffix` I have to check again whether it includes the dot or not. I decided to add it to the docstring so I won't have to keep checking. https://bugs.python.org/issue38422 Automerge-Triggered-By: @pitrou (cherry picked from commit 8d4fef4) Co-authored-by: Ram Rachum <ram@rachum.com>
Commits on Nov 05, 2019
s/pathing/patching/ (cherry picked from commit 25fa3ec) Co-authored-by: Michael Haas <micha2718l@gmail.com>
GH-17027) This was never intented to be called manually from PyInit_*. Also, clarify PyState_RemoveModule return value. (cherry picked from commit 9bc94ec) Co-authored-by: Petr Viktorin <encukou@gmail.com> https://bugs.python.org/issue38159 Automerge-Triggered-By: @encukou
Commits on Nov 06, 2019
(cherry picked from commit 56698d5) Co-authored-by: Ammar Askar <ammar@ammaraskar.com>
The master and 3.8 versions of the previous change work as expected because we perform the lookup for the `from_param` after the union check. However, in 3.7, this lookup happens before the union validation and so we must decrease the reference for `cnv` before returning.
Commits on Nov 09, 2019
(cherry picked from commit befa032) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
Commits on Nov 12, 2019
(cherry picked from commit 98480ce) Co-authored-by: Jonathan Scholbach <j.scholbach@posteo.de>
(cherry picked from commit 8341a4d) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Updates documentation around email.utils.parsedate_tz(). Currently, the documentation specifies that when a string without a is timezone passed to parsedate_tz(), the last tuple is returned as ```None```. This is no longer true since Python 3.3 https://bugs.python.org/issue38421 (cherry picked from commit a12255d) Co-authored-by: David K <dave@paddez.com> https://bugs.python.org/issue38421 Automerge-Triggered-By: @encukou
* "Return true/false" is replaced with "Return ``True``/``False``" if the function actually returns a bool. * Fixed formatting of some True and False literals (now in monospace). * Replaced "True/False" with "true/false" if it can be not only bool. * Replaced some 1/0 with True/False if it corresponds the code. * "Returns <bool>" is replaced with "Return <bool>". (cherry picked from commit 138ccbb)
Commits on Nov 13, 2019
(cherry picked from commit 2d56af7) Co-authored-by: Shu <23287722+susan-shu-c@users.noreply.github.com>
This immediately toggles shell, editor, and output windows, but does not affect other input widgets. (cherry picked from commit 9c28449) Co-authored-by: Zackery Spytz <zspytz@gmail.com>
if parent `__init__` is not called from a constructor of object derived from `asyncio.Future` https://bugs.python.org/issue38785 (cherry picked from commit dad6be5) Co-authored-by: Andrew Svetlov <andrew.svetlov@gmail.com>
Commits on Nov 15, 2019
(cherry picked from commit 0fe0b88) Co-authored-by: Jules Lasne (jlasne) <jules.lasne@gmail.com>
Commits on Nov 16, 2019
changed 'This is bad class design, but save some typing' into 'This is bad class design, but saves some typing'. (cherry picked from commit d0acdfc) Co-authored-by: Jason (Perry) Taylor <jtaylor@seek.com.au>
https://bugs.python.org/issue38823 (cherry picked from commit c3f6bdc) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
Commits on Nov 17, 2019
https://bugs.python.org/issue38823 (cherry picked from commit 143a97f) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit 4544e78) Co-authored-by: alclarks <57201106+alclarks@users.noreply.github.com>
Commits on Nov 18, 2019
(cherry picked from commit 04c79d6) Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
https://bugs.python.org/issue38823 (cherry picked from commit 289cf0f) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
…-17164) https://bugs.python.org/issue38809 (cherry picked from commit ee703cb) Co-authored-by: Tal Einat <taleinat+github@gmail.com>
Commits on Nov 19, 2019
Ignore `GeneratorExit` exceptions when throwing an exception into the `aclose` coroutine of an asynchronous generator. https://bugs.python.org/issue35409 (cherry picked from commit 8e0de2a) Co-authored-by: Vincent Michel <vxgmichel@gmail.com>
Commits on Nov 20, 2019
These Format menu functions (default shortcuts Alt-T and Alt-U) were mistakenly disabled in 3.7.5 and 3.8.0. (cherry picked from commit b846247) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
(cherry picked from commit 33b671e) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit d51a363) Co-authored-by: Brandt Bucher <brandtbucher@gmail.com>
(cherry picked from commit be5c79e) Co-authored-by: Federico Bond <federicobond@gmail.com>
Commits on Nov 21, 2019
https://bugs.python.org/issue36277 Automerge-Triggered-By: @csabella (cherry picked from commit 9391f6c) Co-authored-by: Dave Nguyen <dv@dvnguyen.com>
GH-17126) https://bugs.python.org/issue37838 (cherry picked from commit 0aca3a3) Co-authored-by: benedwards14 <53377856+benedwards14@users.noreply.github.com>
Commits on Nov 22, 2019
Increment properly Py_True/Py_False reference counter for _testcapi.WITH_PYMALLOC variable. (cherry picked from commit 84c36c1) Co-authored-by: Victor Stinner <vstinner@python.org>
The regex http.cookiejar.LOOSE_HTTP_DATE_RE was vulnerable to regular expression denial of service (REDoS). LOOSE_HTTP_DATE_RE.match is called when using http.cookiejar.CookieJar to parse Set-Cookie headers returned by a server. Processing a response from a malicious HTTP server can lead to extreme CPU usage and execution will be blocked for a long time. The regex contained multiple overlapping \s* capture groups. Ignoring the ?-optional capture groups the regex could be simplified to \d+-\w+-\d+(\s*\s*\s*)$ Therefore, a long sequence of spaces can trigger bad performance. Matching a malicious string such as LOOSE_HTTP_DATE_RE.match("1-c-1" + (" " * 2000) + "!") caused catastrophic backtracking. The fix removes ambiguity about which \s* should match a particular space. You can create a malicious server which responds with Set-Cookie headers to attack all python programs which access it e.g. from http.server import BaseHTTPRequestHandler, HTTPServer def make_set_cookie_value(n_spaces): spaces = " " * n_spaces expiry = f"1-c-1{spaces}!" return f"b;Expires={expiry}" class Handler(BaseHTTPRequestHandler): def do_GET(self): self.log_request(204) self.send_response_only(204) GH- Don't bother sending Server and Date n_spaces = ( int(self.path[1:]) GH- Can GET e.g. /100 to test shorter sequences if len(self.path) > 1 else 65506 GH- Max header line length 65536 ) value = make_set_cookie_value(n_spaces) for i in range(99): GH- Not necessary, but we can have up to 100 header lines self.send_header("Set-Cookie", value) self.end_headers() if __name__ == "__main__": HTTPServer(("", 44020), Handler).serve_forever() This server returns 99 Set-Cookie headers. Each has 65506 spaces. Extracting the cookies will pretty much never complete. Vulnerable client using the example at the bottom of https://docs.python.org/3/library/http.cookiejar.html : import http.cookiejar, urllib.request cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) r = opener.open("http://localhost:44020/") The popular requests library was also vulnerable without any additional options (as it uses http.cookiejar by default): import requests requests.get("http://localhost:44020/") * Regression test for http.cookiejar REDoS If we regress, this test will take a very long time. * Improve performance of http.cookiejar.ISO_DATE_RE A string like "444444" + (" " * 2000) + "A" could cause poor performance due to the 2 overlapping \s* groups, although this is not as serious as the REDoS in LOOSE_HTTP_DATE_RE was. (cherry picked from commit 1b779bf) Co-authored-by: bcaller <bcaller@users.noreply.github.com>
The Y2K reference is not needed as it only points out that Python's use of C standard functions doesn't generally suffer from Y2K issues; the point regarding conventions for conversion of 2-digit years in :func:`strptime` is still valid. (cherry picked from commit 42bc60e) Co-authored-by: Callum Ward <wards.callum@gmail.com>
* fix HTTP Digest handling in request.py There is a bug triggered when server replies to a request with `WWW-Authenticate: Digest` where `qop="auth,auth-int"` rather than mere `qop="auth"`. Having both `auth` and `auth-int` is legitimate according to the `qop-options` rule in §3.2.1 of [[https://www.ietf.org/rfc/rfc2617.txt|RFC 2617]]: > qop-options = "qop" "=" <"> 1GH-qop-value <"> > qop-value = "auth" | "auth-int" | token > **qop-options**: [...] If present, it is a quoted string **of one or more** tokens indicating the "quality of protection" values supported by the server. The value `"auth"` indicates authentication; the value `"auth-int"` indicates authentication with integrity protection This is description confirmed by the definition of the [//n//]`GH-`[//m//]//rule// extended-BNF pattern defined in §2.1 of [[https://www.ietf.org/rfc/rfc2616.txt|RFC 2616]] as 'a comma-separated list of //rule// with at least //n// and at most //m// items'. When this reply is parsed by `get_authorization`, request.py only tests for identity with `'auth'`, failing to recognize it as one of the supported modes the server announced, and claims that `"qop 'auth,auth-int' is not supported"`. *📜 🤖 Added by blurb_it. * bpo-38686 review fix: remember why. * fix trailing space in Lib/urllib/request.py Co-Authored-By: Brandt Bucher <brandtbucher@gmail.com> (cherry picked from commit 14a89c4) Co-authored-by: PypeBros <PypeBros@users.noreply.github.com>
Commits on Nov 26, 2019
(cherry picked from commit 386d00c) Co-authored-by: David Coles <coles.david@gmail.com>
(cherry picked from commit f8a6316) Co-authored-by: Sanchit Khurana <54467174+GeniusLearner@users.noreply.github.com>
Commits on Nov 27, 2019
Commits on Nov 28, 2019
(cherry picked from commit 02519f7) Co-authored-by: Tal Einat <taleinat+github@gmail.com>
Commits on Dec 01, 2019
(cherry picked from commit fdafa1d) Co-authored-by: idomic <michael.ido@gmail.com>
Commits on Dec 02, 2019
Make ssl tests less strict and also accept TLSv3 as the default maximum version. This change unbreaks test_min_max_version on Fedora 32. https://bugs.python.org/issue38815 (cherry picked from commit 34864d1) Co-authored-by: torsava <torsava@redhat.com>
Commits on Dec 03, 2019
Update docstring for `multiprocessing.Pool.map` to mention `pool.starmap()`. Prev PR: #17367 @aeros https://bugs.python.org/issue27873 (cherry picked from commit eb48a45) Co-authored-by: An Long <aisk@users.noreply.github.com>
Commits on Dec 04, 2019
Use the "volatile" keyword to prevent tail call optimization on any compiler, rather than relying on compiler specific pragma. (cherry picked from commit 8b78796) Co-authored-by: Victor Stinner <vstinner@python.org>
Commits on Dec 06, 2019
GH-13135) Break cycle generated when saving an exception in socket.py, codeop.py and dyld.py as they keep alive not only the exception but user objects through the ``__traceback__`` attribute. https://bugs.python.org/issue36820 Automerge-Triggered-By: @pablogsal (cherry picked from commit b64334c) Co-authored-by: Mario Corchero <mcorcherojim@bloomberg.net>
Commits on Dec 07, 2019
…unctions (GH-16457) https://bugs.python.org/issue37404 (cherry picked from commit 892f9e0) Co-authored-by: idomic <michael.ido@gmail.com>
test_openssl_version now accepts version 3.0.0. getpeercert() no longer returns IPv6 addresses with a trailing new line. Signed-off-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue38820 (cherry picked from commit 2b7de66) Co-authored-by: Christian Heimes <christian@python.org> https://bugs.python.org/issue38820 Automerge-Triggered-By: @tiran
Commits on Dec 08, 2019
now contextvars.ContextVar "__class_getitem__" method returns ContextVar class, not None. https://bugs.python.org/issue38979 Automerge-Triggered-By: @asvetlov (cherry picked from commit 28c9163) Co-authored-by: AMIR <31338382+amiremohamadi@users.noreply.github.com>
Commits on Dec 09, 2019
Fix test_pty: if the process is the session leader, closing the master file descriptor raises a SIGHUP signal: simply ignore SIGHUP when running the tests. (cherry picked from commit a1838ec) Co-authored-by: Victor Stinner <vstinner@python.org>
array.array: Document that tostring() and fromstring() deprecated aliases will be removed in Python 3.9. (cherry picked from commit 0381ea7) Co-authored-by: Victor Stinner <vstinner@python.org>
Fix asyncio when the ssl module is missing: only check for ssl.SSLSocket instance if the ssl module is available. (cherry picked from commit 82b4950) Co-authored-by: Victor Stinner <vstinner@python.org>
(cherry picked from commit 232689b) Co-authored-by: JohnnyNajera <58344607+JohnnyNajera@users.noreply.github.com>
Commits on Dec 10, 2019
This has happened on some versions of Ubuntu. (cherry picked from commit bbc4162) Co-authored-by: JohnnyNajera <58344607+JohnnyNajera@users.noreply.github.com>
Commits on Dec 11, 2019
Commits on Dec 13, 2019
…t info for if_stmt (GH-17582) (#17584) When parsing an "elif" node, lineno and col_offset of the node now point to the "elif" keyword and not to its condition, making it consistent with the "if" node. https://bugs.python.org/issue39031 Automerge-Triggered-By: @pablogsal. (cherry picked from commit 025a602) Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
(cherry picked from commit 8289e27) Co-authored-by: Xtreak <tir.karthi@gmail.com>
Commits on Dec 14, 2019
Commits on Dec 17, 2019
Commits on Dec 18, 2019
…H-17652) (GH-17655) Fix test_ressources_gced_in_workers() of test_concurrent_futures: explicitly stop the manager to prevent leaking a child process running in the background after the test completes. (cherry picked from commit 673c393) (cherry picked from commit b0eb046) Co-authored-by: Victor Stinner <vstinner@python.org>
Commits on Dec 19, 2019
(cherry picked from commit d587272) Co-authored-by: Batuhan Taşkaya <47358913+isidentical@users.noreply.github.com> https://bugs.python.org/issue38316 Automerge-Triggered-By: @vstinner
Commits on Dec 20, 2019
… docs table (GH-17408) Adds` __module__ ` entries for function & method types in inspect docs table. https://bugs.python.org/issue38918 (cherry picked from commit f522a6d) Co-authored-by: Parth Sharma <parthsharma2@users.noreply.github.com>
Commits on Dec 23, 2019
Commits on Dec 25, 2019
The added parentheses around the PyIter_Next assignment suppress the following warning which gcc throws without: ``` warning: using the result of an assignment as a condition without parentheses [-Wparentheses] ``` The other change is a typo fix (cherry picked from commit 5c7ed75) Co-authored-by: William Ayd <william.ayd@icloud.com>
Commits on Dec 27, 2019
Commits on Dec 28, 2019
Commits on Dec 29, 2019
focusses -> focuses; follwing -> following; Excape -> Escape. (cherry picked from commit 6c7bb38)
(cherry picked from commit 32a12ae) Co-authored-by: Antoine <43954001+awecx@users.noreply.github.com>
Commits on Dec 30, 2019
Tag memoryview, range, and tuple as classes, the same as list, etcetera, in the library manual built-in functions list. (cherry picked from commit ee9ff05) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Commits on Dec 31, 2019
GH-17765) * [3.7] bpo-38588: Fix possible crashes in dict and list when calling PyObject_RichCompareBool (GH-17734) Take strong references before calling PyObject_RichCompareBool to protect against the case where the object dies during the call.. (cherry picked from commit 2d5bf56) Co-authored-by: Dong-hee Na <donghee.na92@gmail.com> * methane's suggestion methane's suggestion Co-Authored-By: Inada Naoki <songofacandy@gmail.com> Co-authored-by: Inada Naoki <songofacandy@gmail.com>
(cherry picked from commit ba82ee8) Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
Commits on Jan 01, 2020
Remove extra space to fix formatting and avoid from splitting text in to strings. https://bugs.python.org/issue39183 (cherry picked from commit 149175c) Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
Unified
Split
Showing
1,663 changed files
with
134,587 additions
and 73,204 deletions.
@@ -0,0 +1,162 @@ | ||
variables: | ||
manylinux: false | ||
coverage: false | ||
|
||
resources: | ||
containers: | ||
- container: manylinux1 | ||
image: pyca/cryptography-manylinux1:x86_64 | ||
|
||
jobs: | ||
- job: Prebuild | ||
displayName: Pre-build checks | ||
|
||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
steps: | ||
- template: ./prebuild-checks.yml | ||
|
||
|
||
- job: Docs_PR | ||
displayName: Docs PR | ||
dependsOn: Prebuild | ||
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['docs.run'], 'true')) | ||
|
||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
steps: | ||
- template: ./docs-steps.yml | ||
parameters: | ||
upload: true | ||
|
||
|
||
- job: macOS_CI_Tests | ||
displayName: macOS CI Tests | ||
dependsOn: Prebuild | ||
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) | ||
|
||
variables: | ||
testRunTitle: '$(build.sourceBranchName)-macos' | ||
testRunPlatform: macos | ||
|
||
pool: | ||
vmImage: macos-10.14 | ||
|
||
steps: | ||
- template: ./macos-steps.yml | ||
|
||
|
||
- job: Ubuntu_CI_Tests | ||
displayName: Ubuntu CI Tests | ||
dependsOn: Prebuild | ||
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) | ||
|
||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
variables: | ||
testRunTitle: '$(build.sourceBranchName)-linux' | ||
testRunPlatform: linux | ||
openssl_version: 1.1.1d | ||
|
||
steps: | ||
- template: ./posix-steps.yml | ||
parameters: | ||
dependencies: apt | ||
|
||
|
||
- job: ManyLinux1_CI_Tests | ||
displayName: ManyLinux1 CI Tests | ||
dependsOn: Prebuild | ||
condition: | | ||
and( | ||
and( | ||
succeeded(), | ||
eq(variables['manylinux'], 'true') | ||
), | ||
eq(dependencies.Prebuild.outputs['tests.run'], 'true') | ||
) | ||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
container: manylinux1 | ||
|
||
variables: | ||
testRunTitle: '$(build.sourceBranchName)-manylinux1' | ||
testRunPlatform: manylinux1 | ||
openssl_version: '' | ||
|
||
steps: | ||
- template: ./posix-steps.yml | ||
parameters: | ||
dependencies: yum | ||
sudo_dependencies: '' | ||
xvfb: false | ||
patchcheck: false | ||
|
||
|
||
- job: Ubuntu_Coverage_CI_Tests | ||
displayName: Ubuntu CI Tests (coverage) | ||
dependsOn: Prebuild | ||
condition: | | ||
and( | ||
and( | ||
succeeded(), | ||
eq(variables['coverage'], 'true') | ||
), | ||
eq(dependencies.Prebuild.outputs['tests.run'], 'true') | ||
) | ||
pool: | ||
vmImage: ubuntu-16.04 | ||
|
||
variables: | ||
testRunTitle: '$(Build.SourceBranchName)-linux-coverage' | ||
testRunPlatform: linux-coverage | ||
openssl_version: 1.1.1d | ||
|
||
steps: | ||
- template: ./posix-steps.yml | ||
parameters: | ||
dependencies: apt | ||
coverage: true | ||
|
||
|
||
- job: Windows_CI_Tests | ||
displayName: Windows CI Tests | ||
dependsOn: Prebuild | ||
condition: and(succeeded(), eq(dependencies.Prebuild.outputs['tests.run'], 'true')) | ||
|
||
pool: | ||
vmImage: vs2017-win2016 | ||
|
||
strategy: | ||
matrix: | ||
win32: | ||
arch: win32 | ||
buildOpt: | ||
testRunTitle: '$(Build.SourceBranchName)-win32' | ||
testRunPlatform: win32 | ||
win64: | ||
arch: amd64 | ||
buildOpt: '-p x64' | ||
testRunTitle: '$(Build.SourceBranchName)-win64' | ||
testRunPlatform: win64 | ||
maxParallel: 2 | ||
|
||
steps: | ||
- template: ./windows-steps.yml | ||
|
||
- template: ./windows-layout-steps.yml | ||
parameters: | ||
kind: nuget | ||
- template: ./windows-layout-steps.yml | ||
parameters: | ||
kind: embed | ||
- template: ./windows-layout-steps.yml | ||
parameters: | ||
kind: appx | ||
fulltest: true |
@@ -0,0 +1,46 @@ | ||
parameters: | ||
latex: false | ||
upload: false | ||
|
||
steps: | ||
- checkout: self | ||
clean: true | ||
fetchDepth: 5 | ||
|
||
- task: UsePythonVersion@0 | ||
displayName: 'Use Python 3.6 or later' | ||
inputs: | ||
versionSpec: '>=3.6' | ||
|
||
- script: python -m pip install sphinx==1.8.2 blurb python-docs-theme | ||
displayName: 'Install build dependencies' | ||
|
||
- ${{ if ne(parameters.latex, 'true') }}: | ||
- script: make check suspicious html PYTHON=python | ||
workingDirectory: '$(build.sourcesDirectory)/Doc' | ||
displayName: 'Build documentation' | ||
|
||
- ${{ if eq(parameters.latex, 'true') }}: | ||
- script: sudo apt-get update && sudo apt-get install -qy --force-yes texlive-full | ||
displayName: 'Install LaTeX' | ||
|
||
- script: make dist PYTHON=python SPHINXBUILD='python -m sphinx' BLURB='python -m blurb' | ||
workingDirectory: '$(build.sourcesDirectory)/Doc' | ||
displayName: 'Build documentation' | ||
|
||
- ${{ if eq(parameters.upload, 'true') }}: | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish docs' | ||
|
||
inputs: | ||
PathToPublish: '$(build.sourcesDirectory)/Doc/build' | ||
ArtifactName: docs | ||
publishLocation: Container | ||
|
||
- ${{ if eq(parameters.latex, 'true') }}: | ||
- task: PublishBuildArtifacts@1 | ||
displayName: 'Publish dist' | ||
inputs: | ||
PathToPublish: '$(build.sourcesDirectory)/Doc/dist' | ||
ArtifactName: docs_dist | ||
publishLocation: Container |
@@ -0,0 +1,27 @@ | ||
steps: | ||
- checkout: self | ||
clean: true | ||
fetchDepth: 5 | ||
|
||
- script: ./configure --with-pydebug --with-openssl=/usr/local/opt/openssl --prefix=/opt/python-azdev | ||
displayName: 'Configure CPython (debug)' | ||
|
||
- script: make -s -j4 | ||
displayName: 'Build CPython' | ||
|
||
- script: make pythoninfo | ||
displayName: 'Display build info' | ||
|
||
- script: make buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml" | ||
displayName: 'Tests' | ||
continueOnError: true | ||
timeoutInMinutes: 30 | ||
|
||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results' | ||
inputs: | ||
testResultsFiles: '$(build.binariesDirectory)/test-results.xml' | ||
mergeTestResults: true | ||
testRunTitle: $(testRunTitle) | ||
platform: $(testRunPlatform) | ||
condition: succeededOrFailed() |
@@ -0,0 +1,26 @@ | ||
apt-get update | ||
|
||
apt-get -yq install \ | ||
build-essential \ | ||
zlib1g-dev \ | ||
libbz2-dev \ | ||
liblzma-dev \ | ||
libncurses5-dev \ | ||
libreadline6-dev \ | ||
libsqlite3-dev \ | ||
libssl-dev \ | ||
libgdbm-dev \ | ||
tk-dev \ | ||
lzma \ | ||
lzma-dev \ | ||
liblzma-dev \ | ||
libffi-dev \ | ||
uuid-dev \ | ||
xvfb | ||
|
||
if [ ! -z "$1" ] | ||
then | ||
echo ##vso[task.prependpath]$PWD/multissl/openssl/$1 | ||
echo ##vso[task.setvariable variable=OPENSSL_DIR]$PWD/multissl/openssl/$1 | ||
python3 Tools/ssl/multissltests.py --steps=library --base-directory $PWD/multissl --openssl $1 --system Linux | ||
fi |
@@ -0,0 +1,81 @@ | ||
parameters: | ||
coverage: false | ||
sudo_dependencies: sudo | ||
dependencies: apt | ||
patchcheck: true | ||
xvfb: true | ||
|
||
steps: | ||
- checkout: self | ||
clean: true | ||
fetchDepth: 5 | ||
|
||
# Work around a known issue affecting Ubuntu VMs on Pipelines | ||
- script: sudo setfacl -Rb /home/vsts | ||
displayName: 'Workaround ACL issue' | ||
|
||
- script: ${{ parameters.sudo_dependencies }} ./.azure-pipelines/posix-deps-${{ parameters.dependencies }}.sh $(openssl_version) | ||
displayName: 'Install dependencies' | ||
|
||
- script: ./configure --with-pydebug | ||
displayName: 'Configure CPython (debug)' | ||
|
||
- script: make -s -j4 | ||
displayName: 'Build CPython' | ||
|
||
- ${{ if eq(parameters.coverage, 'true') }}: | ||
- script: ./python -m venv venv && ./venv/bin/python -m pip install -U coverage | ||
displayName: 'Set up virtual environment' | ||
|
||
- script: ./venv/bin/python -m test.pythoninfo | ||
displayName: 'Display build info' | ||
|
||
- script: | | ||
$COMMAND -m coverage run --pylib -m test \ | ||
--fail-env-changed \ | ||
-uall,-cpu \ | ||
--junit-xml=$(build.binariesDirectory)/test-results.xml" \ | ||
-x test_multiprocessing_fork \ | ||
-x test_multiprocessing_forkserver \ | ||
-x test_multiprocessing_spawn \ | ||
-x test_concurrent_futures | ||
displayName: 'Tests with coverage' | ||
env: | ||
${{ if eq(parameters.xvfb, 'true') }}: | ||
COMMAND: xvfb-run ./venv/bin/python | ||
${{ if ne(parameters.xvfb, 'true') }}: | ||
COMMAND: ./venv/bin/python | ||
- script: ./venv/bin/python -m coverage xml | ||
displayName: 'Generate coverage.xml' | ||
|
||
- script: source ./venv/bin/activate && bash <(curl -s https://codecov.io/bash) | ||
displayName: 'Publish code coverage results' | ||
|
||
|
||
- ${{ if ne(parameters.coverage, 'true') }}: | ||
- script: make pythoninfo | ||
displayName: 'Display build info' | ||
|
||
- script: $COMMAND buildbottest TESTOPTS="-j4 -uall,-cpu --junit-xml=$(build.binariesDirectory)/test-results.xml" | ||
displayName: 'Tests' | ||
env: | ||
${{ if eq(parameters.xvfb, 'true') }}: | ||
COMMAND: xvfb-run make | ||
${{ if ne(parameters.xvfb, 'true') }}: | ||
COMMAND: make | ||
|
||
- ${{ if eq(parameters.patchcheck, 'true') }}: | ||
- script: ./python Tools/scripts/patchcheck.py --travis true | ||
displayName: 'Run patchcheck.py' | ||
condition: and(succeeded(), eq(variables['Build.Reason'], 'PullRequest')) | ||
|
||
|
||
- task: PublishTestResults@2 | ||
displayName: 'Publish Test Results' | ||
inputs: | ||
testResultsFiles: '$(build.binariesDirectory)/test-results.xml' | ||
mergeTestResults: true | ||
testRunTitle: $(testRunTitle) | ||
platform: $(testRunPlatform) | ||
condition: succeededOrFailed() |

Oops, something went wrong.