Commit Graph

289 Commits

Author SHA1 Message Date
Alexander Marshalov e22072fb11 bpo-34149: Behavior of the min/max with key=None (GH-8328)
Improve consistency with the signature for sorted(), heapq.nsmallest(), heapq.nlargest(), and itertools.groupby().
2018-07-23 20:58:21 -07:00
Serhiy Storchaka 3325a6780c
bpo-27169: The __debug__ constant is now optimized out at compile time. (#4880)
This fixes also bpo-22091.
2017-12-15 12:35:48 +02:00
Victor Stinner 91106cd9ff
bpo-29240: PEP 540: Add a new UTF-8 Mode (#855)
* Add -X utf8 command line option, PYTHONUTF8 environment variable
  and a new sys.flags.utf8_mode flag.
* If the LC_CTYPE locale is "C" at startup: enable automatically the
  UTF-8 mode.
* Add _winapi.GetACP(). encodings._alias_mbcs() now calls
  _winapi.GetACP() to get the ANSI code page
* locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8
  mode. As a side effect, open() now uses the UTF-8 encoding by
  default in this mode.
* Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding
  in the UTF-8 Mode.
* Update subprocess._args_from_interpreter_flags() to handle -X utf8
* Skip some tests relying on the current locale if the UTF-8 mode is
  enabled.
* Add test_utf8mode.py.
* _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to
  return also the length (number of wide characters).
* pymain_get_global_config() and pymain_set_global_config() now
  always copy flag values, rather than only copying if the new value
  is greater than the old value.
2017-12-13 12:29:09 +01:00
Barry Warsaw 36c1d1f1e5 PEP 553 built-in breakpoint() function (bpo-31353) (#3355)
Implement PEP 553, built-in breakpoint() with support from sys.breakpointhook(), along with documentation and tests.  Closes bpo-31353
2017-10-05 12:11:18 -04:00
diana 543386b7f0 bpo-31657: Add test coverage for the __debug__ case (GH-3450)
Update the compile tests for optimization levels to also check that
__debug__ blocks are included or excluded based on the optimization
level.
Patch by Diana Clarke.
2017-10-03 09:46:56 -07:00
Victor Stinner 3ca9f50f96 bpo-31160: test_builtin: don't check waitpid() status (#3050) 2017-08-09 23:08:22 +02:00
Victor Stinner 4baca1b0f7 bpo-31160: Fix test_builtin for zombie process (#3043)
PtyTests.run_child() now calls os.waitpid() to read the exit status
of the child process to avoid creating zombie process and leaking
processes in the background.
2017-08-09 17:44:19 +02:00
Serhiy Storchaka f7eae0adfc [security] bpo-13617: Reject embedded null characters in wchar* strings. (#2302)
Based on patch by Victor Stinner.

Add private C API function _PyUnicode_AsUnicode() which is similar to
PyUnicode_AsUnicode(), but checks for null characters.
2017-06-28 08:30:06 +03:00
Serhiy Storchaka baf9f29811 bpo-29839: Raise ValueError rather than OverflowError in len() for negative values. (#701) 2017-04-16 09:37:18 +03:00
Victor Stinner d6debb24e0 bpo-29919: Remove unused imports found by pyflakes (#137)
Make also minor PEP8 coding style fixes on modified imports.
2017-03-27 16:05:26 +02:00
Serhiy Storchaka 398ef5c08f Issue #29327: Fixed a crash when pass the iterable keyword argument to sorted(). 2017-01-20 08:33:06 +02:00
Serhiy Storchaka 7984bff52a Issue #28385: An error message when non-empty format spec is passed to
object.__format__ now contains the name of actual type.
2016-10-30 19:37:46 +02:00
Serhiy Storchaka d1af5effc2 Issue #28385: An error message when non-empty format spec is passed to
object.__format__ now contains the name of actual type.
2016-10-30 19:33:54 +02:00
Eric Snow 4f29e75289 Issue #24254: Drop cls.__definition_order__. 2016-09-08 15:11:11 -07:00
Raymond Hettinger f0f1c239e4 Issue 27936: Fix inconsistent round() behavior between float and int 2016-09-03 01:55:11 -07:00
R David Murray 44b548dda8 #27364: fix "incorrect" uses of escape character in the stdlib.
And most of the tools.

Patch by Emanual Barry, reviewed by me, Serhiy Storchaka, and
Martin Panter.
2016-09-08 13:59:53 -04:00
Eric Snow 92a6c170e6 Issue #24254: Preserve class attribute definition order. 2016-09-05 14:50:11 -07:00
Raymond Hettinger 3b09cd64e0 Merge 2016-09-03 01:55:39 -07:00
Nick Coghlan d78448e912 Issue #27366: Implement PEP 487
- __init_subclass__ called when new subclasses defined
- __set_name__ called when descriptors are part of a
  class definition
2016-07-30 16:26:03 +10:00
Serhiy Storchaka 763f9f0d89 Issue #25983: Added tests for multi-argument type(). 2016-02-08 20:28:03 +02:00
Martin Panter 3cae757772 Issue #24402: Merge potential test fix from 3.4 into 3.5 2015-10-10 05:28:17 +00:00
Martin Panter e44dba3b4f Issue #24402: Factor out PtyTests.run_child() in input() tests
This reuses existing code to hopefully make the new test_input_no_stdout_
fileno() test work. It is hanging Free BSD 9 and OS X Tiger buildbots, and I
don't know why.
2015-10-10 05:27:15 +00:00
Martin Panter e02f8fc44d Issue #24402: Merge input() fix from 3.4 into 3.5 2015-10-10 01:55:23 +00:00
Martin Panter c9a6ab56cf Issue #24402: Fix input() when stdout.fileno() fails; diagnosed by Eryksun
Also factored out some test cases into a new PtyTests class.
2015-10-10 01:25:38 +00:00
Berker Peksag ce643913a9 Issue #9517: Move script_helper to the support package.
Patch by Christie Wilson.
2015-05-06 06:33:17 +03:00
Serhiy Storchaka 65ee4674e2 Issue #22777: Test pickling with all protocols. 2014-12-15 14:06:02 +02:00
Serhiy Storchaka bad1257c96 Issue #22777: Test pickling with all protocols. 2014-12-15 14:03:42 +02:00
Serhiy Storchaka d8a1447c99 Issue #22215: Now ValueError is raised instead of TypeError when str or bytes
argument contains not permitted null character or byte.
2014-09-06 20:07:17 +03:00
Benjamin Peterson f84200ffc7 test the change of #21193 correctly 2014-04-11 15:37:18 -04:00
Mark Dickinson 0c346d827d Issue #21193: Make (e.g.,) pow(2, -3, 5) raise ValueError rather than TypeError. Patch by Josh Rosenberg. 2014-04-11 14:34:40 -04:00
Victor Stinner d44cebb0f5 Issue #20599: Don't clear environment in test_cleanup() of test_builtin 2014-02-13 10:54:32 +01:00
Victor Stinner e755fba2d1 Issue #20599: Don't clear environment in test_cleanup() of test_builtin 2014-02-13 10:54:32 +01:00
Victor Stinner 8ebe5324a0 Issue #20599: Force ASCII encoding for stdout in test_cleanup() of test_builtin
On Windows, the codec of sys.stdout is implemented in Python. At exit, the
codec may be unloaded before the destructor tries to write something to
sys.stdout.
2014-02-12 18:27:55 +01:00
Victor Stinner 8da4fb5a1c Issue #20599: Force ASCII encoding for stdout in test_cleanup() of test_builtin
On Windows, the codec of sys.stdout is implemented in Python. At exit, the
codec may be unloaded before the destructor tries to write something to
sys.stdout.
2014-02-12 18:27:55 +01:00
Serhiy Storchaka f86b433823 Try to fix test_cleanup (issue #20599). 2014-02-12 12:40:22 +02:00
Serhiy Storchaka 76a6326068 Try to fix test_cleanup (issue #20599). 2014-02-12 12:40:22 +02:00
Serhiy Storchaka 013bb91aa3 Issue #19255: The builtins module is restored to initial value before
cleaning other modules.  The sys and builtins modules are cleaned last.
2014-02-10 18:21:34 +02:00
Serhiy Storchaka 87a5c515d0 Issue #19255: The builtins module is restored to initial value before
cleaning other modules.  The sys and builtins modules are cleaned last.
2014-02-10 18:21:34 +02:00
Zachary Ware a4b7a7548c Issue #3158: doctest can now find doctests in functions and methods
written in C.

As a part of this, a few doctests have been added to the builtins module
(on hex(), oct(), and bin()), a doctest has been fixed (hopefully on all
platforms) on float, and test_builtins now runs doctests in builtins.
2013-11-24 01:19:09 -06:00
Victor Stinner daf455554b Issue #18571: Implementation of the PEP 446: file descriptors and file handles
are now created non-inheritable; add functions os.get/set_inheritable(),
os.get/set_handle_inheritable() and socket.socket.get/set_inheritable().
2013-08-28 00:53:59 +02:00
Victor Stinner 82fb71d662 Cleanup test_builtin 2013-08-22 01:58:12 +02:00
Raymond Hettinger 4d6018fe45 Issue 18111: Add a default argument to min() and max() 2013-06-24 22:43:02 -07:00
Brett Cannon 2f9f056db1 Make test_builtin work when executed directly 2013-06-15 23:24:11 -04:00
Serhiy Storchaka ee57f159af Revert a premature patch for issue #14010 (changeset 846bd418aee5). 2013-04-06 22:55:12 +03:00
Serhiy Storchaka 278d03bd66 Revert a premature patch for issue #14010 (changeset aaaf36026511). 2013-04-06 22:52:34 +03:00
Serhiy Storchaka aac81e2780 Issue #14010: Fix a crash when iterating or deleting deeply nested filters
(builting and in itertools module, i.e. map(), itertools.chain(), etc).
2013-04-06 21:20:30 +03:00
Serhiy Storchaka e8f706eda7 Issue #14010: Fix a crash when iterating or deleting deeply nested filters
(builting and in itertools module, i.e. map(), itertools.chain(), etc).
2013-04-06 21:14:43 +03:00
Ezio Melotti 8a268b985f #17255: merge with 3.3. 2013-02-21 23:17:34 +02:00
Ezio Melotti 600b71167e #17255: merge with 3.2. 2013-02-21 23:17:08 +02:00
Ezio Melotti 0f4377c100 #17255: test short-circuiting behavior of any()/all(). Patch by Wim Glenn. 2013-02-21 23:15:40 +02:00
R David Murray 09f336ceb0 Merge: #17142: fix apparent copy and paste error in test_all. 2013-02-06 10:05:56 -05:00
R David Murray cd74322dad Merge: #17142: fix apparent copy and paste error in test_all. 2013-02-06 09:57:51 -05:00
R David Murray 1acaf0bce2 #17142: fix apparent copy and paste error in test_all. 2013-02-06 09:56:19 -05:00
Nadeem Vawda 56265564ff Back out fix for issue #13886; it introduced a new bug in interactive readline use. 2013-02-02 20:29:39 +01:00
Nadeem Vawda c27bcbf863 Back out fix for issue #13886; it introduced a new bug in interactive readline use. 2013-02-02 20:25:19 +01:00
Nadeem Vawda 6375257188 Back out fix for issue #13886; it introduced a new bug in interactive readline use. 2013-02-02 20:05:11 +01:00
Nadeem Vawda ef0a44c629 Issue #13886: Fix input() to not strip out supposedly-invalid input bytes.
Also fix sporadic failures in test_builtin due to dependence on whether the
readline module has previously been imported.
2013-01-27 14:17:21 +01:00
Nadeem Vawda 60cc32382f Issue #13886: Fix input() to not strip out supposedly-invalid input bytes.
Also fix sporadic failures in test_builtin due to dependence on whether the
readline module has previously been imported.
2013-01-27 14:13:25 +01:00
Nadeem Vawda 6f02ea02c8 Issue #13886: Fix input() to not strip out supposedly-invalid input bytes.
Also fix sporadic failures in test_builtin due to dependence on whether the
readline module has previously been imported.
2013-01-27 14:01:42 +01:00
Andrew Svetlov 2cd8ce4690 Issue #9856: Replace deprecation warinigs to raising TypeError in object.__format__
Patch by Florent Xicluna.
2012-12-23 14:27:17 +02:00
Andrew Svetlov 4b61d0fa7f Issue #16045: add more unit tests for built-in int()
Patch by Chris Jerdonek.
2012-12-23 12:50:02 +02:00
Andrew Svetlov 8e42e8a0c6 Issue #16045: add more unit tests for built-in int()
Patch by Chris Jerdonek.
2012-12-23 12:49:33 +02:00
Benjamin Peterson 9272279afd use error label instead of breaking eval loop (closes #16693) 2012-12-15 12:51:05 -05:00
Chris Jerdonek 5fae0e5854 Improve str() and object.__str__() documentation (issue #13538). 2012-11-20 17:45:51 -08:00
Chris Jerdonek 17fc44c9b3 Improve str() and object.__str__() documentation (issue #13538). 2012-11-20 17:31:02 -08:00
Florent Xicluna 3f4ce635ee Issue #11022 and #15287: correctly remove the TESTFN file in test_builtin. 2012-07-08 12:08:45 +02:00
Victor Stinner f86a5e8a93 Close #11022: TextIOWrapper doesn't call locale.setlocale() anymore
open() and io.TextIOWrapper are now calling locale.getpreferredencoding(False)
instead of locale.getpreferredencoding() in text mode if the encoding is not
specified. Don't change temporary the locale encoding using locale.setlocale(),
use the current locale encoding instead of the user preferred encoding.

Explain also in open() documentation that locale.getpreferredencoding(False) is
called if the encoding is not specified.
2012-06-05 13:43:22 +02:00
Victor Stinner b0b224233e Issue #14385: Support other types than dict for __builtins__
It is now possible to use a custom type for the __builtins__ namespace, instead
of a dict. It can be used for sandboxing for example.  Raise also a NameError
instead of ImportError if __build_class__ name if not found in __builtins__.
2012-04-19 00:57:45 +02:00
Kristján Valur Jónsson 31668b8f7a Issue #14288: Serialization support for builtin iterators. 2012-04-03 10:49:41 +00:00
Antoine Pitrou deb925fc14 Skip early if stdin and stdout are not ttys 2011-11-06 03:04:12 +01:00
Antoine Pitrou 1ce4b14c4d Skip early if stdin and stdout are not ttys 2011-11-06 03:03:18 +01:00
Antoine Pitrou 413d497247 Backport robustness fix for test_builtin 2011-11-06 02:51:25 +01:00
Antoine Pitrou 772add7e1a Try to make the tty input() tests more robust 2011-11-06 02:37:42 +01:00
Antoine Pitrou 5ee9d8a8a2 Issue #13342: input() used to ignore sys.stdin's and sys.stdout's unicode
error handler in interactive mode (when calling into PyOS_Readline()).
2011-11-06 00:38:45 +01:00
Antoine Pitrou 0d776b1ce8 Issue #13342: input() used to ignore sys.stdin's and sys.stdout's unicode
error handler in interactive mode (when calling into PyOS_Readline()).
2011-11-06 00:34:26 +01:00
Ezio Melotti a9860aeb08 #13054: fix usage of sys.maxunicode after PEP-393. 2011-10-04 19:06:00 +03:00
Benjamin Peterson 18d7d7a217 also make NotImplementedType callable 2011-07-29 18:27:44 -05:00
Benjamin Peterson c4607aeedd make the types of None and Ellipsis callable 2011-07-29 18:19:43 -05:00
Benjamin Peterson ce071ca4e7 bytes should be verboten in sum() (fixes #12654) 2011-07-29 14:23:47 -05:00
Benjamin Peterson 3bbb722654 allow __dir__ to return any sequence 2011-06-11 16:12:08 -05:00
Benjamin Peterson dac9acedfd test that object has a __dir__() implementation 2011-05-25 09:33:37 -05:00
Eric V. Smith b9cd3531c4 Issue 9856: Change object.__format__ with a non-empty format string from a PendingDeprecationWarning to a DeprecationWarning. 2011-03-12 10:08:48 -05:00
Eli Bendersky 67ebabd152 Removed fcmp and FUZZ from test.support, following the discussion on python-dev:
http://mail.python.org/pipermail/python-dev/2011-January/107735.html
2011-02-25 10:14:17 +00:00
Georg Brandl 8334fd9285 Add an "optimize" parameter to compile() to control the optimization level, and provide an interface to it in py_compile, compileall and PyZipFile. 2010-12-04 10:26:46 +00:00
Antoine Pitrou e71362d3de Issue #10518: Bring back the callable() builtin.
Approved by Guido (BDFL) and Georg (RM).
2010-11-27 22:00:11 +00:00
Benjamin Peterson 8d16ab3c56 merge all range tests into test_range 2010-11-20 23:01:55 +00:00
Benjamin Peterson 94ab7a0864 enable test that was commented out for whatever reason 2010-11-20 22:50:04 +00:00
Benjamin Peterson 0b458d52f9 count() should return integers #10474 2010-11-20 22:35:41 +00:00
Ezio Melotti b3aedd4862 #9424: Replace deprecated assert* methods in the Python test suite. 2010-11-20 19:04:17 +00:00
Daniel Stutzbach 9f0cbf1c72 Issue #9213: Add index and count methods to range objects, needed to
meet the API of the collections.Sequence ABC.
2010-09-13 21:16:29 +00:00
Eric Smith e4d6317c87 Issue 7994: Make object.__format__() raise a PendingDeprecationWarning
if the format string is not empty. Manually merge r79596 and r84772
from 2.x.

Also, apparently test_format() from test_builtin never made it into
3.x. I've added it as well. It tests the basic format()
infrastructure.
2010-09-13 20:48:43 +00:00
Antoine Pitrou e4a189274f Issue #9804: ascii() now always represents unicode surrogate pairs as
a single `\UXXXXXXXX`, regardless of whether the character is printable
or not.  Also, the "backslashreplace" error handler now joins surrogate
pairs into a single character on UCS-2 builds.
2010-09-09 20:30:23 +00:00
Benjamin Peterson 17689991e6 only catch AttributeError in hasattr() #9666 2010-08-24 03:26:23 +00:00
Benjamin Peterson 076e031e54 cleanup imports 2010-08-23 21:58:59 +00:00
Alexander Belopolsky e29e6bffb5 Issue #665761: functools.reduce() will no longer mask exceptions other
than TypeError raised by the iterator argument.  Also added a test to
check that zip() already behaves similarly.
2010-08-16 18:55:46 +00:00
Mark Dickinson fb3dc94b8c Merged revisions 81525 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r81525 | mark.dickinson | 2010-05-25 20:01:08 +0100 (Tue, 25 May 2010) | 3 lines

  Issue #8816: Extra tests for some built-in functions.  These tests are
  ports of IronPython tests.  Thanks Gregory Nofi.
........
2010-05-25 19:06:24 +00:00
Mark Dickinson 85b53533e4 Issue #1533: Merge added trunk range tests to py3k. (The fix itself
doesn't need to be merged.)  Patch by Alexander Belopolsky.
2010-05-05 22:39:58 +00:00
Brett Cannon 776289934c Clean up the manipulation of the warnings filter in test_builtin. 2010-03-20 20:59:33 +00:00
Georg Brandl 1b37e8728c Merged revisions 78093 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78093 | georg.brandl | 2010-02-07 18:03:15 +0100 (So, 07 Feb 2010) | 1 line

  Remove unused imports in test modules.
........
2010-03-14 10:45:50 +00:00
Victor Stinner 624dbf6220 Issue #6697: catch _PyUnicode_AsString() errors in getattr() and setattr()
builtin functions.
2010-03-12 17:17:58 +00:00