Victor Stinner
5d39e04290
bpo-32030: Rework memory allocators ( #4625 )
...
* Fix _PyMem_SetupAllocators("debug"): always restore allocators to
the defaults, rather than only caling _PyMem_SetupDebugHooks().
* Add _PyMem_SetDefaultAllocator() helper to set the "default"
allocator.
* Add _PyMem_GetAllocatorsName(): get the name of the allocators
* main() now uses debug hooks on memory allocators if Py_DEBUG is
defined, rather than calling directly malloc()
* Document default memory allocators in C API documentation
* _Py_InitializeCore() now fails with a fatal user error if
PYTHONMALLOC value is an unknown memory allocator, instead of
failing with a fatal internal error.
* Add new tests on the PYTHONMALLOC environment variable
* Add support.with_pymalloc()
* Add the _testcapi.WITH_PYMALLOC constant and expose it as
support.with_pymalloc().
* sysconfig.get_config_var('WITH_PYMALLOC') doesn't work on Windows, so
replace it with support.with_pymalloc().
* pythoninfo: add _testcapi collector for pymem
2017-11-29 17:20:38 +01:00
Serhiy Storchaka
edad8eebee
bpo-31949: Fixed several issues in printing tracebacks (PyTraceBack_Print()). ( #4289 )
...
* Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
* Setting sys.tracebacklimit to None now causes using the default limit.
* Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.
* Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.
* Fixed output errors handling.
2017-11-15 17:38:52 +02:00
Serhiy Storchaka
39a156c505
Fix the sizeof test for dicts with shared keys. ( #4311 )
...
By accident the size of the empty dict keys object matched the
size of values array.
2017-11-07 15:08:09 +02:00
Mark Shannon
ae3087c638
Move exc state to generator. Fixes bpo-25612 ( #1773 )
...
Move exception state information from frame objects to coroutine (generator/thread) object where it belongs.
2017-10-22 23:41:51 +02:00
Nick Coghlan
5a8516701f
bpo-31344: Per-frame control of trace events (GH-3417)
...
f_trace_lines: enable/disable line trace events
f_trace_opcodes: enable/disable opcode trace events
These are intended primarily for testing of the interpreter
itself, as they make it much easier to emulate signals
arriving at unfortunate times.
2017-09-08 10:14:16 +10:00
Antoine Pitrou
a6a4dc816d
bpo-31370: Remove support for threads-less builds ( #3385 )
...
* Remove Setup.config
* Always define WITH_THREAD for compatibility.
2017-09-07 18:56:24 +02:00
Nick Coghlan
6ea4186de3
bpo-28180: Implementation for PEP 538 ( #659 )
...
- new PYTHONCOERCECLOCALE config setting
- coerces legacy C locale to C.UTF-8, C.utf8 or UTF-8 by default
- always uses C.UTF-8 on Android
- uses `surrogateescape` on stdin and stdout in the coercion
target locales
- configure option to disable locale coercion at build time
- configure option to disable C locale warning at build time
2017-06-11 13:16:15 +10:00
Dong-hee Na
b4dc6af7a7
bpo-12414: Update code_sizeof() to take in account co_extra memory. ( #1168 )
2017-04-20 10:31:17 +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
aefa7ebf0f
bpo-6532: Make the thread id an unsigned integer. ( #781 )
...
* bpo-6532: Make the thread id an unsigned integer.
From C API side the type of results of PyThread_start_new_thread() and
PyThread_get_thread_ident(), the id parameter of
PyThreadState_SetAsyncExc(), and the thread_id field of PyThreadState
changed from "long" to "unsigned long".
* Restore a check in thread_get_ident().
2017-03-23 14:48:39 +01:00
Serhiy Storchaka
5bb8b9134b
Issue #18896 : Python function can now have more than 255 parameters.
...
collections.namedtuple() now supports tuples with more than 255 elements.
2016-12-16 19:19:02 +02:00
Victor Stinner
d6958ac6c0
Add sys.getandroidapilevel()
...
Issue #28740 : Add sys.getandroidapilevel(): return the build time
API version of Android as an integer.
Function only available on Android.
2016-12-02 01:13:46 +01:00
Victor Stinner
a1fd0789ed
Try to fix sizeof unit tests on dict
...
Issue #28056 and issue #26058 .
2016-09-09 21:51:19 -07:00
Yury Selivanov
eb6364557f
Issue #28003 : Implement PEP 525 -- Asynchronous Generators.
2016-09-08 22:01:51 -07:00
Eric Snow
4f29e75289
Issue #24254 : Drop cls.__definition_order__.
2016-09-08 15:11:11 -07:00
Victor Stinner
3b6a6b4215
Add a new private version to the builtin dict type
...
Issue #26058 : Add a new private version to the builtin dict type, incremented
at each dictionary creation and at each dictionary change.
Implementation of the PEP 509.
2016-09-08 12:51:24 -07:00
Steve Dower
e58571b7ea
Fixes tests broken by issue #27781 .
2016-09-08 11:11:13 -07:00
Victor Stinner
742da040db
Implement compact dict
...
Issue #27350 : `dict` implementation is changed like PyPy. It is more compact
and preserves insertion order.
_PyDict_Dummy() function has been removed.
Disable test_gdb: python-gdb.py is not updated yet to the new structure of
compact dictionaries (issue #28023 ).
Patch written by INADA Naoki.
2016-09-07 17:40:12 -07:00
Benjamin Peterson
46d3a595fd
fix expected layout of code objects
2016-09-07 14:56:15 -07:00
Eric Snow
92a6c170e6
Issue #24254 : Preserve class attribute definition order.
2016-09-05 14:50:11 -07:00
Serhiy Storchaka
a793037d80
Issue #19527 : Fixed tests with defined COUNT_ALLOCS.
2016-07-03 22:27:26 +03:00
Serhiy Storchaka
6a7b3a77b4
Issue #26778 : Fixed "a/an/and" typos in code comment and documentation.
2016-04-17 08:32:47 +03:00
Serhiy Storchaka
fc43511867
Issue #25339 : PYTHONIOENCODING now has priority over locale in setting the
...
error handler for stdin and stdout.
2016-04-10 14:34:13 +03:00
Serhiy Storchaka
5185597a69
Fixed sizeof tests for dict and type (they were passed by accident).
...
Added tests for dict views iterators.
2015-12-20 11:39:14 +02:00
Serhiy Storchaka
aaf69aca45
Don't create non-needed file.
2015-12-20 09:37:52 +02:00
Serhiy Storchaka
9c297e43bf
Use correct PyGC_Head size in tests for issue #25421 .
2015-12-19 22:49:29 +02:00
Serhiy Storchaka
5c4064e8bd
Issue #25421 : __sizeof__ methods of builtin types now use dynamic basic size.
...
This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined.
2015-12-19 20:05:25 +02:00
Victor Stinner
50856d5ae7
sys.setrecursionlimit() now raises RecursionError
...
Issue #25274 : sys.setrecursionlimit() now raises a RecursionError if the new
recursion limit is too low depending at the current recursion depth. Modify
also the "lower-water mark" formula to make it monotonic. This mark is used to
decide when the overflowed flag of the thread state is reset.
2015-10-13 00:11:21 +02:00
Victor Stinner
87bddbac9d
(Merge 3.4) Issue #25274 : test_recursionlimit_recovery() of test_sys now checks
...
sys.gettrace() when the test is executed, not when the module is loaded.
sys.settrace() may be after after the test is loaded.
2015-10-01 08:56:27 +02:00
Victor Stinner
3f18f10f39
Issue #25274 : test_recursionlimit_recovery() of test_sys now checks
...
sys.gettrace() when the test is executed, not when the module is loaded.
sys.settrace() may be after after the test is loaded.
2015-10-01 08:55:33 +02:00
Yury Selivanov
f488fb422a
Issue #19235 : Add new RecursionError exception. Patch by Georg Brandl.
2015-07-03 01:04:23 -04:00
Yury Selivanov
7544508f02
PEP 0492 -- Coroutines with async and await syntax. Issue #24017 .
2015-05-11 22:57:16 -04: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
Antoine Pitrou
63afdaa110
Issue #23629 : Fix the default __sizeof__ implementation for variable-sized objects.
2015-03-10 22:35:24 +01:00
Antoine Pitrou
a654510150
Issue #23629 : Fix the default __sizeof__ implementation for variable-sized objects.
2015-03-10 22:32:00 +01:00
Benjamin Peterson
bcf527e0d6
merge 3.4
2015-02-02 14:22:19 -05:00
Benjamin Peterson
f5f9c13551
adjust for py3k module renaming
2015-02-02 14:22:13 -05:00
Benjamin Peterson
5e69419ee4
merge 3.4
2015-02-02 14:06:29 -05:00
Benjamin Peterson
3356a2e2f0
_clear_type_cache is cpython-only
2015-02-02 14:06:11 -05:00
Stefan Krah
f5324d7074
Closes #22668 : Merge from 3.4.
2015-01-29 14:29:51 +01:00
Raymond Hettinger
93035c44fd
Issue #23119 : Simplify setobject by inlining the special case for unicode equality testing.
2015-01-25 16:12:49 -08:00
Raymond Hettinger
1202a4733e
Issue 23261: Clean-up the hack to store the set.pop() search finger in a hash field instead of the setobject.
2015-01-18 13:12:42 -08:00
Antoine Pitrou
5db1bb81ff
Issue #22696 : Add function :func:`sys.is_finalizing` to know about interpreter shutdown.
2014-12-07 01:28:27 +01:00
Serhiy Storchaka
42826566f5
Issue #22193 : Fixed integer overflow error in sys.getsizeof().
...
Fixed an error in _PySys_GetSizeOf declaration.
2014-11-15 13:22:27 +02:00
Serhiy Storchaka
030e92d1a5
Issue #22193 : Fixed integer overflow error in sys.getsizeof().
...
Fixed an error in _PySys_GetSizeOf declaration.
2014-11-15 13:21:37 +02:00
Victor Stinner
cddaa1bd62
(Merge 3.4) Closes #22205 : sys._debugmallocstats is a cpython specific feature,
...
so test_debugmallocstats should be marked as such. Patch written by Martin
Matusiak.
2014-08-16 14:11:14 +02:00
Victor Stinner
8e7966b00e
Closes #22205 : sys._debugmallocstats is a cpython specific feature, so
...
test_debugmallocstats should be marked as such. Patch written by Martin
Matusiak.
2014-08-16 14:11:01 +02:00
Antoine Pitrou
b349e4c929
Issue #22116 : C functions and methods (of the 'builtin_function_or_method' type) can now be weakref'ed. Patch by Wei Wu.
2014-08-06 19:31:40 -04:00
Victor Stinner
7db27c8ed6
Issue #21205 : Fix unit tests
2014-06-16 16:21:57 +02:00
Antoine Pitrou
3a74ce2088
Issue #13204 : Calling sys.flags.__new__ would crash the interpreter, now it raises a TypeError.
2014-04-28 13:08:28 +02:00
Antoine Pitrou
871dfc41d3
Issue #13204 : Calling sys.flags.__new__ would crash the interpreter, now it raises a TypeError.
2014-04-28 13:07:06 +02:00
Benjamin Peterson
d51374ed78
PEP 465: a dedicated infix operator for matrix multiplication ( closes #21176 )
2014-04-09 23:55:56 -04:00
Victor Stinner
97f17a784a
Issue #19977 : Enable test_c_locale_surrogateescape() on Windows
...
Only test the error handler. The encoding is not ASCII on Windows: it may the
OEM or ANSI code page.
2014-03-18 02:28:10 +01:00
Victor Stinner
7143029d43
Issue #19977 : When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale),
...
:py:data:`sys.stdin` and :py:data:`sys.stdout` are now using the
``surrogateescape`` error handler, instead of the ``strict`` error handler.
2014-03-18 01:18:21 +01:00
Zachary Ware
1d7ba5cd7b
Issue #20510 : Merge with 3.3
2014-02-19 10:46:05 -06:00
Zachary Ware
1f9e601765
Issue #20510 : Confirm that the code attribute of the SystemExit
...
exception raised by sys.exit is None when no code is given.
As suggested by Serhiy Storchaka.
2014-02-19 10:44:47 -06:00
Zachary Ware
c36e504c53
Issue #20510 : Merge with 3.3.
2014-02-18 08:41:21 -06:00
Zachary Ware
cefe6b34de
Issue #20510 : Rewrote test_exit in test_sys to match existing comments
...
and to modernize. Patch by Gareth Rees.
2014-02-18 08:39:04 -06:00
Serhiy Storchaka
f28ba369dd
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:10:55 +02:00
Serhiy Storchaka
5cfc79deae
Issue #20532 : Tests which use _testcapi now are marked as CPython only.
2014-02-07 10:06:39 +02:00
Victor Stinner
ed0b87d73c
Fix the C definition of the sys._debugmallocstats() function: the function has
...
no parameter
2013-12-19 17:16:42 +01:00
Victor Stinner
fdeb6ec45a
Issue #14432 : Remove the thread state field from the frame structure. Fix a
...
crash when a generator is created in a C thread that is destroyed while the
generator is still used. The issue was that a generator contains a frame, and
the frame kept a reference to the Python state of the destroyed C thread. The
crash occurs when a trace function is setup.
2013-12-13 02:01:38 +01:00
Victor Stinner
56668dc187
Issue #19751 : Fix hash_info test of test_sys on SPARC Solaris
2013-12-12 23:07:40 +01:00
Victor Stinner
4b6d4b56d3
Issue #19751 : Fix typo in configuration option
2013-12-12 23:06:07 +01:00
Christian Heimes
985ecdcfc2
ssue #19183 : Implement PEP 456 'secure and interchangeable hash algorithm'.
...
Python now uses SipHash24 on all major platforms.
2013-11-20 11:46:18 +01:00
Serhiy Storchaka
43767638a9
Issue #18702 : All skipped tests now reported as skipped.
2013-11-03 21:31:38 +02:00
Serhiy Storchaka
7908068627
Issue #18702 : All skipped tests now reported as skipped.
2013-11-03 21:31:18 +02:00
Antoine Pitrou
77e904e6a6
Issue #18948 : improve SuppressCoreFiles to include Windows crash popup suppression, and use it in more tests.
...
Patch by Valerie Lambert and Zachary Ware.
2013-10-08 23:04:32 +02:00
Antoine Pitrou
5df8a8a1fd
Issue #19087 : Improve bytearray allocation in order to allow cheap popping of data at the front (slice deletion).
2013-10-05 21:12:18 +02:00
Serhiy Storchaka
bf28d2dcad
Issue #18818 : The "encodingname" part of PYTHONIOENCODING is now optional.
2013-09-13 11:46:24 +03:00
Serhiy Storchaka
46e1ce214b
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 20:17:03 +03:00
Serhiy Storchaka
9594942716
Issue #18783 : Removed existing mentions of Python long type in docstrings,
...
error messages and comments.
2013-08-27 19:40:23 +03:00
Christian Heimes
ad73a9cf97
Issue #16400 : Add command line option for isolated mode.
...
-I
Run Python in isolated mode. This also implies -E and -s. In isolated mode
sys.path contains neither the script’s directory nor the user’s
site-packages directory. All PYTHON* environment variables are ignored,
too. Further restrictions may be imposed to prevent the user from
injecting malicious code.
2013-08-10 16:36:18 +02:00
Antoine Pitrou
58720d6145
Issue #17934 : Add a clear() method to frame objects, to help clean up expensive details (local variables) and break reference cycles.
2013-08-05 23:26:40 +02:00
Antoine Pitrou
dcedaf6e53
Issue #18214 : Improve finalization of Python modules to avoid setting their globals to None, in most cases.
2013-07-31 23:14:08 +02:00
Antoine Pitrou
796564c27b
Issue #18112 : PEP 442 implementation (safe object finalization).
2013-07-30 19:59:21 +02:00
Antoine Pitrou
80bc00f582
Issue #18063 : fix some struct specifications in the tests for sys.getsizeof().
2013-05-25 23:47:29 +02:00
Antoine Pitrou
1256f1f438
Issue #18063 : fix some struct specifications in the tests for sys.getsizeof().
2013-05-25 23:48:15 +02:00
Antoine Pitrou
9396356948
Backout c89febab4648 following private feedback by Guido.
...
(Issue #17807 : Generators can now be finalized even when they are part of a reference cycle)
2013-05-14 20:37:52 +02:00
Antoine Pitrou
04e70d19e7
Issue #17807 : Generators can now be finalized even when they are part of a reference cycle.
2013-05-08 18:12:35 +02:00
Ezio Melotti
a612176c9c
#17493 : merge with 3.3.
2013-03-20 18:16:05 +02:00
Ezio Melotti
a49178e48e
#17493 : merge with 3.2.
2013-03-20 18:15:37 +02:00
Ezio Melotti
958f7ae865
#17493 : re-enable a test on Windows. Patch by Zachary Ware.
2013-03-20 18:14:48 +02:00
Antoine Pitrou
f61dc4cea2
Relax test when WITH_PYMALLOC is false or undefined.
2012-12-18 19:50:58 +01:00
Antoine Pitrou
928405303d
Following issue #13390 , fix compilation --without-pymalloc, and make sys.getallocatedblocks() return 0 in that situation.
2012-12-17 23:05:59 +01:00
Antoine Pitrou
f9d0b1256f
Issue #13390 : New function :func:`sys.getallocatedblocks()` returns the number of memory blocks currently allocated.
...
Also, the ``-R`` option to regrtest uses this function to guard against memory allocation leaks.
2012-12-09 14:28:26 +01:00
Benjamin Peterson
29e02a2be8
merge 3.3
2012-10-09 11:16:13 -04:00
Benjamin Peterson
b29614e047
compare singletons by identity not equality ( closes #16712 )
...
Patch from Serhiy Storchaka.
2012-10-09 11:16:03 -04:00
Jesus Cea
f01d695ccd
Closes #16135 : Removal of OS/2 support
2012-10-05 03:36:11 +02:00
Georg Brandl
e054f452bd
Fix test_sys.test_implementation for final releases.
2012-09-29 09:44:17 +02:00
Antoine Pitrou
6f1a40ffd3
Merge universal newlines-related fixes (issue #13119 )
2012-08-05 00:25:31 +02:00
Antoine Pitrou
894375a2fd
Fix test_sys under Windows (issue #13119 )
2012-08-05 00:15:06 +02:00
Martin v. Löwis
2b16844326
Issue #15467 : Merge 3.2
2012-07-29 16:38:45 +02:00
Martin v. Löwis
33f799725c
Issue #15467 : Move helpers for __sizeof__ tests into test_support.
...
Patch by Serhiy Storchaka.
2012-07-29 16:33:05 +02:00
Martin v. Löwis
3bbd2fad4d
Issue #15456 : Fix code __sizeof__ after #12399 change.
...
Patch by Serhiy Storchaka.
2012-07-26 22:23:23 +02:00
David Malcolm
49526f48fc
Issue #14785 : Add sys._debugmallocstats() to help debug low-level memory allocation issues
2012-06-22 14:55:41 -04:00
Barry Warsaw
efce00c537
Whitespace normalization
2012-06-04 12:02:42 -04:00
Barry Warsaw
028b37c941
PEP 421 requires that .name be lower case.
2012-06-04 12:01:56 -04:00
Barry Warsaw
409da157d7
Eric Snow's implementation of PEP 421.
...
Issue 14673: Add sys.implementation
2012-06-03 16:18:47 -04:00
Richard Oudkerk
3e0a1eb889
Issue #14930 : Make memoryview objects weakrefable.
2012-05-28 21:35:09 +01:00