| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
It was only used on Python 3.3, now only Future._log_traceback is
used.
|
| |
|
|
|
| |
This reverts commit 9522a218f7dff95c490ff359cc60e8c2af35f5c8.
|
|
|
|
|
|
|
|
|
| |
Some parts of the C API are only relevant to larger
applications embedding CPython as a runtime engine.
The helpers to test those APIs are already separated
out into Programs/_testembed.c, this update moves
the associated test cases out into their own dedicated
test file.
|
|
|
|
|
|
| |
running make (GH-4346)" (#4592)
Fix breakage documented in bpo-32149.
This reverts commit d8d6b9122134f040cd5a4f15f40f6c9e3386db4d.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Improve UUID1 MAC address calculation and related tests.
There are two bits in the MAC address that are relevant to UUID1. The first is the locally administered vs. universally administered bit (second least significant of the first octet). Physical network interfaces such as ethernet ports and wireless adapters will always be universally administered, but some interfaces --such as the interface that MacBook Pros communicate with their Touch Bars-- are locally administered. The former are guaranteed to be globally unique, while the latter are demonstrably *not* globally unique and are in fact the same on every MBP with a Touch Bar. With this bit is set, the MAC is locally administered; with it unset it is universally administered.
The other bit is the multicast bit (least significant bit of the first octet). When no other MAC address can be found, RFC 4122 mandates that a random 48-bit number be generated. This randomly generated number *must* have the multicast bit set.
The improvements in uuid.py include:
* Preferentially return a universally administered MAC address, falling back to a locally administered address if none of the former can be found.
* Improve several coding style issues, such as adding explicit returns of None, using a more readable bitmask pattern, and assuming that the ultimate fallback, random MAC generation will not fail (and propagating any exception there instead of swallowing them).
Improvements in test_uuid.py include:
* Always testing the calculated MAC for universal administration, unless explicitly disabled (i.e. for the random case), or implicitly disabled due to running in the Travis environment. Travis test machines have *no* universally administered MAC address at the time of this writing.
|
|
|
|
|
|
|
| |
The warnings module doesn't leak memory anymore in the hidden
warnings registry for the "ignore" action of warnings filters.
The warn_explicit() function doesn't add the warning key to the
registry anymore for the "ignore" action.
|
|
|
|
|
| |
In development and debug mode, use the "default" action, rather than
the "always" action, for ResourceWarning in the default warnings
filters.
|
| |
|
|
|
|
| |
Wildcard is now supported in hostname when it is one and only character in
the leftmost segment.
|
|
|
|
| |
- Add "version added: 3.5.2" note where it was missing.
- Remove the mention that Reversible is new in 3.5.2
|
|
|
|
| |
(GH-4346)
|
| |
|
| |
|
|
|
|
|
| |
find_file() returns an empty list if it finds the requested
header on the standard include path, so header existence
checks need to be explicitly against "is not None".
|
|
|
|
|
|
|
|
|
|
| |
clang can't figure out that fatal_error is noreturn itself and emits warnings:
../cpython/Python/pylifecycle.c:2116:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
../cpython/Python/pylifecycle.c:2125:1: warning: function declared 'noreturn' should not return [-Winvalid-noreturn]
}
^
|
| |
|
|
|
|
|
|
| |
detect_modules() in setup.py now also searches the sysroot paths when
cross-compiling.
|
|
|
|
|
| |
Also updated an example for default() in the module docstring.
Removed quotes around type name in other error messages.
|
|
|
|
| |
* bpo-32071: Add unittest -k option
|
|
|
|
|
| |
Previously, netrc.netrc() was raised an exception if $HOME is not set.
Authored-By: Dimitri Merejkowsky <dimitri.merejkowsky@tanker.io>
|
|
|
| |
Mention that the lower the priority number, the higher priority it represents.
|
|
|
| |
The provided code example was supposed to find repeated words, however it returned false results.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add _PyPathConfig_Init() and _PyPathConfig_Fini()
* Remove _Py_GetPathWithConfig()
* _PyPathConfig_Init() returns _PyInitError to allow to handle errors
properly
* Add pathconfig_clear()
* Windows calculate_path_impl(): replace Py_FatalError() with
_PyInitError
* Py_FinalizeEx() now calls _PyPathConfig_Fini() to release memory
* Fix _Py_InitializeMainInterpreter() regression: don't initialize
path config if _disable_importlib is false
* PyPathConfig now uses dynamically allocated memory
|
|
|
|
|
| |
The NNTP server currently has troubles with SSL, whereas we don't
have the control on this server. This test blocks all CIs, so disable
it until a fix can be found.
|
| |
|
|
|
|
|
|
| |
* Py_Main() now calls Py_SetProgramName() earlier to be able to get
the program name in _PyMainInterpreterConfig_ReadEnv().
* Rename prog to program_name
* Rename progpath to program_name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Py_GetPath() and Py_Main() now call
_PyMainInterpreterConfig_ReadEnv() to share the same code to get
environment variables.
Changes:
* Add _PyMainInterpreterConfig_ReadEnv()
* Add _PyMainInterpreterConfig_Clear()
* Add _PyMem_RawWcsdup()
* _PyMainInterpreterConfig: rename pythonhome to home
* Rename _Py_ReadMainInterpreterConfig() to
_PyMainInterpreterConfig_Read()
* Use _Py_INIT_USER_ERR(), instead of _Py_INIT_ERR(), for decoding
errors: the user is able to fix the issue, it's not a bug in
Python. Same change was made in _Py_INIT_NO_MEMORY().
* Remove _Py_GetPythonHomeWithConfig()
|
|
|
|
| |
Explicitly document C functions and C variables that can be set
before Py_Initialize().
|
|
|
| |
This flag was deprecated and wasn't used anymore since Python 2.0.
|
| |
|
|
|
|
|
| |
The paragraph that contains example of string literal concatenation was placed
after the section about concatenation using the '+' sign.
Moved the paragraph to the appropriate section.
|
|
|
|
|
|
|
|
|
| |
sockets (GH-4503)
The test.support.skip_unless_bind_unix_socket() decorator is used to skip
asyncio tests that fail because the platform lacks a functional bind()
function for unix domain sockets (as it is the case for non root users on the
recent Android versions that run now SELinux in enforcing mode).
|
|
|
|
|
|
|
| |
The previous behavior was to raise an exception
NotImplementedError: result of type 0
when the value of the property is VT_EMPTY.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bpo-32096, bpo-30860: Partially revert the commit
2ebc5ce42a8a9e047e790aefbf9a94811569b2b6:
* Move structures back from Include/internal/mem.h to
Objects/obmalloc.c
* Remove _PyObject_Initialize() and _PyMem_Initialize()
* Remove Include/internal/pymalloc.h
* Add test_capi.test_pre_initialization_api():
Make sure that it's possible to call Py_DecodeLocale(), and then call
Py_SetProgramName() with the decoded string, before Py_Initialize().
PyMem_RawMalloc() and Py_DecodeLocale() can be called again before
_PyRuntimeState_Init().
Co-Authored-By: Eric Snow <ericsnowcurrently@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, 'msilib.OpenDatabase()' function raised a
cryptical exception message when it couldn't open or
create an MSI file. For example:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
_msi.MSIError: unknown error 6e
|
|
|
|
| |
Move footnote markers to be closer to the related terminology:
before the end of the sentence, instead of after.
|
| |
|
|
|
|
| |
* Minor wording tweaks
|
|
|
|
|
|
| |
The Distribution class now explicitly raises an
exception when 'classifiers', 'keywords' and
'platforms' fields are not specified as a list.
|
| |
|
| |
|
|
|
|
|
| |
create_filter() now expects the action as a _Py_Identifier which
avoids string comparison, and more important, to avoid handling the
"unknown action" annoying case.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* calculate_path() rewritten in Modules/getpath.c and PC/getpathp.c
* Move global variables into a new PyPathConfig structure.
* calculate_path():
* Split the huge calculate_path() function into subfunctions.
* Add PyCalculatePath structure to pass data between subfunctions.
* Document PyCalculatePath fields.
* Move cleanup code into a new calculate_free() subfunction
* calculate_init() now handles Py_DecodeLocale() failures properly
* calculate_path() is now atomic: only replace PyPathConfig
(path_config) at once on success.
* _Py_GetPythonHomeWithConfig() now returns an error on failure
* Add _Py_INIT_NO_MEMORY() helper: report a memory allocation failure
* Coding style fixes (PEP 7)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Py_Main() now reads the PYTHONHOME environment variable
* Add _Py_GetPythonHomeWithConfig() private function
* Add _PyWarnings_InitWithConfig()
* init_filters() doesn't get the current core configuration from the
current interpreter or Python thread anymore. Pass explicitly the
configuration to _PyWarnings_InitWithConfig().
* _Py_InitializeCore() now fails on _PyWarnings_InitWithConfig()
failure.
* Pass configuration as constant
|
|
|
|
| |
Move _PyCoreConfig.module_search_path_env to _PyMainInterpreterConfig
structure.
|