Commit Graph

98650 Commits

Author SHA1 Message Date
Brett Cannon aa2a621c8b Add the Codecov badge for master 2017-02-10 14:33:55 -08:00
Brett Cannon 3f9339b569 Add a Travis badge for the master branch 2017-02-10 14:31:08 -08:00
Brett Cannon 34818577b8 Add a codecov configuration file 2017-02-10 14:24:16 -08:00
Brett Cannon bb09c863e9 Add a Travis configuration file 2017-02-10 14:21:15 -08:00
Brett Cannon 6f0eb93183 Delete old pull request template 2017-02-10 14:09:18 -08:00
Brett Cannon 0c719824de Add a CONTRIBUTING file
This file will be displayed to contributors when they create a pull request in any branch (hence why it is not written in a branch-specific way).
2017-02-10 14:08:55 -08:00
Victor Stinner d2306cec4d Backed out changeset f23fa1f7b68f
Sorry, I didn't want to push this change before the review :-( I was pushing a
change into the 2.7 branch.
2017-02-10 14:19:36 +01:00
Victor Stinner 766af559ad Issue #29465: Add Objects/call.c file
* Move all functions to call objects in a new Objects/call.c file.
* Rename fast_function() to _PyFunction_FastCallKeywords().
* Copy null_error() from Objects/abstract.c
* Inline type_error() in call.c to not have to copy it, it was only
  called once.
* Export _PyEval_EvalCodeWithName() since it is now called
  from call.c.
2017-02-10 13:32:29 +01:00
Victor Stinner 109a9fe796 Merge 3.6 2017-02-10 12:38:02 +01:00
Victor Stinner 2a35c939cc Fix test_datetime on Windows
Issue #29100: On Windows, datetime.datetime.fromtimestamp(min_ts) fails with an
OSError in test_timestamp_limits().
2017-02-10 12:37:21 +01:00
Victor Stinner 07547cdad3 Merge 3.6 2017-02-10 11:45:28 +01:00
Victor Stinner 6f37e3645d Fix test_datetime on system with 32-bit time_t
Issue #29100: Catch OverflowError in the new test_timestamp_limits() test.
2017-02-10 11:45:14 +01:00
Victor Stinner 05e218c37d Merge 3.6 2017-02-10 10:34:37 +01:00
Victor Stinner b67f096738 Fix datetime.fromtimestamp(): check bounds
Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python
3.6.0: check minimum and maximum years.
2017-02-10 10:34:02 +01:00
Łukasz Langa 40ee824d1d Merge 3.6 (fix #29519) 2017-02-10 00:20:16 -08:00
Łukasz Langa 57fe245e8c Merge 3.5 (fix #29519) 2017-02-10 00:16:10 -08:00
Łukasz Langa 9cd7e17640 Fix #29519: weakref spewing exceptions during interp finalization 2017-02-10 00:14:55 -08:00
Benjamin Peterson e5f2cc67be merge 3.6 2017-02-09 22:35:38 -08:00
Benjamin Peterson 35a1f7f62d massage English for -X descriptions a bit 2017-02-09 22:31:17 -08:00
Victor Stinner fe4ff83049 Issue #29507: Fix _PyObject_CallFunctionVa()
is_size_t test was reversed. Bug spotted by INADA Naoki.
2017-02-10 00:41:06 +01:00
Victor Stinner 331bbe6aaa Issue #29507: Update test_exceptions
test_unraisable() of test_exceptions expects that PyErr_WriteUnraisable(method)
fails on repr(method).

Before the previous change (7b8df4a5d81d), slot_tp_finalize() called
PyErr_WriteUnraisable() with a PyMethodObject. In this case, repr(method) calls
repr(self) which is BrokenRepr.__repr__() and the calls raises a new exception.

After the previous change, slot_tp_finalize() uses an unbound method: repr() is
called on a regular __del__() method which doesn't call repr(self). repr()
doesn't fail anymore.

PyErr_WriteUnraisable() doesn't call __repr__() anymore, so remove BrokenRepr
unit test.
2017-02-09 23:49:50 +01:00
Victor Stinner 516b98161a Optimize slots: avoid temporary PyMethodObject
Issue #29507: Optimize slots calling Python methods. For Python methods, get
the unbound Python function and prepend arguments with self, rather than
calling the descriptor which creates a temporary PyMethodObject.

Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python
method with self. It avoids the creation of a temporary tuple to pass
positional arguments.

Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python
slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented
in Python:

Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%)

Co-Authored-by: INADA Naoki <songofacandy@gmail.com>
2017-02-09 22:53:47 +01:00
Serhiy Storchaka c42c65574d Null merge 2017-02-09 20:07:15 +02:00
Serhiy Storchaka 095ef73492 Issue #29513: Fix outdated comment and remove redundand code is os.scandir(). 2017-02-09 20:05:51 +02:00
Serhiy Storchaka d43ab05916 Issue #29513: Fixed a reference leak in os.scandir() added in issue #29034. 2017-02-09 20:02:37 +02:00
Nick Coghlan c7a24a7330 Merge issue #26355 fix from 3.6 2017-02-09 16:09:03 +01:00
Nick Coghlan e1857579f8 Merge issue #26355 fix from Python 3.5 2017-02-09 16:08:17 +01:00
Nick Coghlan e66244521c Issue #26355: Specify canonical URLs in docs pages
Add canonical header link on each page to corresponding major
version of the documentation.

Patch by Matthias Bussonnier.
2017-02-09 16:03:59 +01:00
Victor Stinner 12c5838dae Fix PyCFunction_Call() performance issue
Issue #29259, #29465: PyCFunction_Call() doesn't create anymore a redundant
tuple to pass positional arguments for METH_VARARGS.

Add a new cfunction_call() subfunction.
2017-02-09 02:01:37 +01:00
Victor Stinner 3722f1f483 support: temp_dir() and change_cwd() uses repr() in error message
Serhiy Storshaka pointed me that str(path) can emit a BytesWarning: use
repr(path) instead.
2017-02-08 15:49:10 +01:00
Victor Stinner 620580f280 Fix refleaks if Py_EnterRecursiveCall() fails
Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails.
2017-02-08 12:57:09 +01:00
Victor Stinner 17a63e2169 Fix regrtest -j0 -R output
Write also dots into stderr, instead of stdout.
2017-02-08 13:06:08 +01:00
Victor Stinner 04054d9ac2 Update test_support for my temp_dir/change_cwd changes 2017-02-08 12:49:02 +01:00
Victor Stinner edb4881441 support: add more info on temp_dir() and change_cwd() failure
Log the OSError exception message.
2017-02-08 12:25:00 +01:00
Victor Stinner 7399a05965 Issue #29306: Fix usage of Py_EnterRecursiveCall()
* *PyCFunction_*Call*() functions now call Py_EnterRecursiveCall().
* PyObject_Call() now calls directly _PyFunction_FastCallDict() and
  PyCFunction_Call() to avoid calling Py_EnterRecursiveCall() twice per
  function call
2017-02-08 12:06:00 +01:00
Berker Peksag ee0ee9ae8e Issue #29441: Merge from 3.6 2017-02-07 11:28:19 +03:00
Berker Peksag 088507644e Issue #29441: Merge from 3.5 2017-02-07 11:27:48 +03:00
Berker Peksag f59286794b Issue #29441: Update examples to use async and await keywords in asyncio-task.rst 2017-02-07 11:27:09 +03:00
Mariatta Wijaya 189413dcfe Issue #29314: Merge with 3.6 2017-02-06 22:06:04 -08:00
Mariatta Wijaya 6138432e59 Issue #29314: Merge with 3.5 2017-02-06 22:05:10 -08:00
Mariatta Wijaya 4e7ff8b1a3 Issue #29314: Set the stacklevel to two in asyncio.async() Deprecation Warning 2017-02-06 22:03:00 -08:00
Mariatta Wijaya 743376f45e Issue #29371: merge with 3.6 2017-02-06 20:18:39 -08:00
Mariatta Wijaya e39262ccc3 Issue #29371: merge with 3.5 2017-02-06 20:16:58 -08:00
Mariatta Wijaya 81b8977349 Issue #29371: Clarify bitwise OR operation in doctest option flags. 2017-02-06 20:15:01 -08:00
Steve Dower 18d2c934e3 Issue #28164: Improves test on Windows 7 2017-02-06 14:53:21 -08:00
Steve Dower 2dfa6cb9ff Issue #28164: Improves test on Windows 7 2017-02-06 14:50:17 -08:00
Steve Dower d947e4da5d Includes ensurepip and venv packages in nuget package. 2017-02-06 14:12:57 -08:00
Steve Dower f007b49eb9 Includes ensurepip and venv packages in nuget package. 2017-02-06 14:12:19 -08:00
Steve Dower 5288477cfd Includes ensurepip and venv packages in nuget package. 2017-02-06 14:11:34 -08:00
Raymond Hettinger 0fa47469a9 merge 2017-02-06 07:15:57 -08:00