Skip to content
Permalink
Branch: master
Commits on Dec 18, 2019
  1. bpo-38546: Fix concurrent.futures test_ressources_gced_in_workers() (G…

    vstinner committed Dec 18, 2019
    …H-17652)
    
    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.
Commits on Dec 17, 2019
  1. bpo-38546: multiprocessing tests stop the resource tracker (GH-17641)

    vstinner committed Dec 17, 2019
    Multiprocessing and concurrent.futures tests now stop the resource
    tracker process when tests complete.
    
    Add ResourceTracker._stop() method to
    multiprocessing.resource_tracker.
    
    Add _cleanup_tests() helper function to multiprocessing.util: share
    code between multiprocessing and concurrent.futures tests.
  2. bpo-38858: Small integer per interpreter (GH-17315)

    vstinner committed Dec 17, 2019
    Each Python subinterpreter now has its own "small integer
    singletons": numbers in [-5; 257] range.
    
    It is no longer possible to change the number of small integers at
    build time by overriding NSMALLNEGINTS and NSMALLPOSINTS macros:
    macros should now be modified manually in pycore_pystate.h header
    file.
    
    For now, continue to share _PyLong_Zero and _PyLong_One singletons
    between all subinterpreters.
Commits on Dec 11, 2019
  1. bpo-38614: Use support timeout constants (GH-17572)

    vstinner committed Dec 11, 2019
  2. bpo-38614: Use test.support.SHORT_TIMEOUT constant (GH-17566)

    vstinner committed Dec 11, 2019
    Replace hardcoded timeout constants in tests with SHORT_TIMEOUT of
    test.support, so it's easier to ajdust this timeout for all tests at
    once.
    
    SHORT_TIMEOUT is 30 seconds by default, but it can be longer
    depending on --timeout command line option.
    
    The change makes almost all timeouts longer, except
    test_reap_children() of test_support which is made 2x shorter:
    SHORT_TIMEOUT should be enough. If this test starts to fail,
    LONG_TIMEOUT should be used instead.
    
    Uniformize also "from test import support" import in some test files.
Commits on Dec 10, 2019
  1. bpo-38614: Use test.support.INTERNET_TIMEOUT constant (GH-17565)

    vstinner committed Dec 10, 2019
    Replace hardcoded timeout constants in tests with INTERNET_TIMEOUT of
    test.support, so it's easier to ajdust this timeout for all tests at
    once.
  2. bpo-38614: Use test.support.LONG_TIMEOUT constant (GH-17562)

    vstinner committed Dec 10, 2019
    Replace hardcoded timeout constants in tests with LONG_TIMEOUT of
    test.support, so it's easier to ajdust this timeout for all tests at
    once.
    
    LONG_TIMEOUT is 5 minutes by default, but it can be longer depending
    on --timeout command line option.
  3. bpo-38614: Use default join_thread() timeout in tests (GH-17559)

    vstinner committed Dec 10, 2019
    Tests no longer pass a timeout value to join_thread() of
    test.support: use the default join_thread() timeout instead
    (SHORT_TIMEOUT constant of test.support).
  4. bpo-38614: Use test.support.LOOPBACK_TIMEOUT constant (GH-17554)

    vstinner committed Dec 10, 2019
    Replace hardcoded timeout constants in tests with LOOPBACK_TIMEOUT of
    test.support, so it's easier to ajdust this timeout for all tests at
    once.
Commits on Dec 9, 2019
  1. bpo-20443: No longer make sys.argv[0] absolute for script (GH-17534)

    vstinner committed Dec 9, 2019
    In Python 3.9.0a1, sys.argv[0] was made an asolute path if a filename
    was specified on the command line. Revert this change, since most
    users expect sys.argv to be unmodified.
  2. bpo-39006: Fix asyncio when the ssl module is missing (GH-17524)

    vstinner committed Dec 9, 2019
    Fix asyncio when the ssl module is missing: only check for
    ssl.SSLSocket instance if the ssl module is available.
  3. bpo-38916: array.array: remove fromstring() and tostring() (GH-17487)

    vstinner committed Dec 9, 2019
    array.array: Remove tostring() and fromstring() methods.  They were
    aliases to tobytes() and frombytes(), deprecated since Python 3.2.
  4. bpo-38547: Fix test_pty if the process is the session leader (GH-17519)

    vstinner committed Dec 9, 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.
Commits on Dec 8, 2019
  1. bpo-38858: Fix ref leak in pycore_interp_init() (GH-17512)

    vstinner committed Dec 8, 2019
    bpo-38858, bpo-38997: _PySys_Create() returns a strong reference to
    the sys module: Py_DECREF() is needed when we are done with the
    module.
  2. bpo-38991: Remove test.support.strip_python_stderr() (GH-17490)

    vstinner committed Dec 8, 2019
    test.support: run_python_until_end(), assert_python_ok() and
    assert_python_failure() functions no longer strip whitespaces from
    stderr.
Commits on Dec 6, 2019
  1. bpo-38982: Fix asyncio PidfdChildWatcher on waitpid() error (GH-17477)

    vstinner committed Dec 6, 2019
    If waitpid() is called elsewhere, waitpid() call fails with
    ChildProcessError: use return code 255 in this case, and log a
    warning. It ensure that the pidfd file descriptor is closed if this
    error occurs.
  2. bpo-38858: Add pycore_interp_init() code to factorize code (GH-17483)

    vstinner committed Dec 6, 2019
    Add a new pycore_interp_init() function called by new_interpreter()
    and pyinit_config().
  3. bpo-38858: new_interpreter() reuses _PySys_Create() (GH-17481)

    vstinner committed Dec 6, 2019
    new_interpreter() now calls _PySys_Create() to create a new sys
    module isolated from the main interpreter. It now calls
    _PySys_InitCore() and _PyImport_FixupBuiltin().
    
    init_interp_main() now calls _PySys_InitMain().
Commits on Dec 4, 2019
  1. bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467)

    vstinner committed Dec 4, 2019
    Use the "volatile" keyword to prevent tail call optimization
    on any compiler, rather than relying on compiler specific pragma.
Commits on Nov 23, 2019
  1. bpo-38896: Remove PyUnicode_ClearFreeList() function (GH-17354)

    vstinner committed Nov 23, 2019
    Remove PyUnicode_ClearFreeList() function: the Unicode free list has
    been removed in Python 3.3.
Commits on Nov 22, 2019
  1. bpo-38858: new_interpreter() reuses pycore_init_builtins() (GH-17351)

    vstinner committed Nov 22, 2019
    new_interpreter() now calls _PyBuiltin_Init() to create the builtins
    module and calls _PyImport_FixupBuiltin(), rather than using
    _PyImport_FindBuiltin(tstate, "builtins").
    
    pycore_init_builtins() is now responsible to initialize
    intepr->builtins_copy: inline _PyImport_Init() and remove this
    function.
  2. bpo-38858: _PyImport_FixupExtensionObject() handles subinterpreters (G…

    vstinner committed Nov 22, 2019
    …H-17350)
    
    If _PyImport_FixupExtensionObject() is called from a subinterpreter,
    leave extensions unchanged and don't copy the module dictionary
    into def->m_base.m_copy.
  3. bpo-38858: Add init_interp_main() subfunction (GH-17347)

    vstinner committed Nov 22, 2019
    Fix new_interpreter() error handling: undo it all if status is an
    exception.
  4. bpo-38858: Add init_set_builtins_open() subfunction (GH-17346)

    vstinner committed Nov 22, 2019
  5. bpo-38858: Call _PyUnicode_Fini() in Py_EndInterpreter() (GH-17330)

    vstinner committed Nov 22, 2019
    Py_EndInterpreter() now clears the filesystem codec.
  6. bpo-36854: Fix refleak in subinterpreter (GH-17331)

    vstinner committed Nov 22, 2019
    finalize_interp_clear() now explicitly clears the codec registry and
    then trigger a GC collection to clear all references.
Commits on Nov 21, 2019
  1. bpo-38692: Skip test_posix.test_pidfd_open() on EPERM (GH-17290)

    vstinner committed Nov 21, 2019
    Skip the test_posix.test_pidfd_open() test if os.pidfd_open() fails
    with a PermissionError. This situation can happen in a Linux sandbox
    using a syscall whitelist which doesn't allow the pidfd_open()
    syscall yet (like systemd-nspawn).
  2. bpo-38875: test_capi: trashcan tests require cpu resource (GH-17314)

    vstinner committed Nov 21, 2019
    test_capi: trashcan tests now require the test "cpu" resource.
  3. bpo-38858: Allocate small integers on the heap (GH-17301)

    vstinner committed Nov 21, 2019
    Allocate small Python integers (small_ints of longobject.c) on the
    heap, rather than using static objects.
Commits on Nov 20, 2019
  1. bpo-38858: Fix Py_Finalize() when called from a subinterpreter (GH-17297

    vstinner committed Nov 20, 2019
    )
    
    Use _Py_IsMainInterpreter() in Py_Initialize() and Py_Finalize() to
    detect if the current interpreter is the main interpreter or not.
  2. bpo-38858: Add _Py_IsMainInterpreter(tstate) (GH-17293)

    vstinner committed Nov 20, 2019
  3. bpo-37340: Remove PyMethod_ClearFreeList() and PyCFunction_ClearFreeL…

    vstinner committed Nov 20, 2019
    …ist() (GH-17284)
    
    Remove PyMethod_ClearFreeList() and PyCFunction_ClearFreeList()
    functions: the free lists of bound method objects have been removed.
    
    Remove also _PyMethod_Fini() and _PyCFunction_Fini() functions.
  4. bpo-36854: Move _PyRuntimeState.gc to PyInterpreterState (GH-17287)

    vstinner committed Nov 20, 2019
    * Rename _PyGC_InitializeRuntime() to _PyGC_InitState()
    * finalize_interp_clear() now also calls _PyGC_Fini() in
      subinterpreters (clear the GC state).
  5. bpo-38835: Exclude PyFPE macros from the stable API (GH-17228)

    vstinner committed Nov 20, 2019
    Exclude PyFPE_START_PROTECT() and PyFPE_END_PROTECT() macros of
    pyfpe.h from Py_LIMITED_API (stable API).
Older
You can’t perform that action at this time.