From: Richard Oudkerk Date: Tue, 14 Aug 2012 11:51:14 +0000 (+0100) Subject: Merge 3.2 X-Git-Tag: v3.3.0rc1~117 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3165a75e45817e858b77ce307cebb93657249dc2;p=python Merge 3.2 --- 3165a75e45817e858b77ce307cebb93657249dc2 diff --cc Lib/test/test_multiprocessing.py index afb0bee419,ab6d36a0f0..57252a7fb0 --- a/Lib/test/test_multiprocessing.py +++ b/Lib/test/test_multiprocessing.py @@@ -18,8 -17,8 +18,9 @@@ import arra import socket import random import logging +import struct import test.support + import test.script_helper # Skip tests if _multiprocessing wasn't built. @@@ -3346,9 -2430,29 +3347,29 @@@ class TestTimeouts(unittest.TestCase) finally: socket.setdefaulttimeout(old_timeout) + # + # Test what happens with no "if __name__ == '__main__'" + # + + class TestNoForkBomb(unittest.TestCase): + def test_noforkbomb(self): + name = os.path.join(os.path.dirname(__file__), 'mp_fork_bomb.py') + if WIN32: + rc, out, err = test.script_helper.assert_python_failure(name) + self.assertEqual('', out.decode('ascii')) + self.assertIn('RuntimeError', err.decode('ascii')) + else: + rc, out, err = test.script_helper.assert_python_ok(name) + self.assertEqual('123', out.decode('ascii').rstrip()) + self.assertEqual('', err.decode('ascii')) + + # + # + # + testcases_other = [OtherTest, TestInvalidHandle, TestInitializers, - TestStdinBadfiledescriptor, TestInvalidFamily, - TestTimeouts, TestNoForkBomb] + TestStdinBadfiledescriptor, TestWait, TestInvalidFamily, - TestFlags, TestTimeouts] ++ TestFlags, TestTimeouts, TestNoForkBomb] # # diff --cc Misc/NEWS index 268074742c,5d69e955f6..d242589359 --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -10,100 -10,93 +10,104 @@@ What's New in Python 3.3.0 Release Cand Core and Builtins ----------------- -- Issue #13119: sys.stdout and sys.stderr are now using "\r\n" newline on - Windows, as Python 2. +Library +------- -- Issue #14579: Fix CVE-2012-2135: vulnerability in the utf-16 decoder after - error handling. Patch by Serhiy Storchaka. ++- Issue #15646: Prevent equivalent of a fork bomb when using ++ multiprocessing on Windows without the "if __name__ == '__main__'" ++ idiom. + -- Issue #15404: Refleak in PyMethodObject repr. +C API +----- -- Issue #15394: An issue in PyModule_Create that caused references to - be leaked on some error paths has been fixed. Patch by Julia Lawall. +Extension Modules +----------------- -- Issue #15368: An issue that caused bytecode generation to be - non-deterministic when using randomized hashing (-R) has been fixed. +Tools/Demos +----------- -- Issue #15020: The program name used to search for Python's path is now - "python3" under Unix, not "python". +Documentation +------------- -- Issue #15033: Fix the exit status bug when modules invoked using -m swith, - return the proper failure return value (1). Patch contributed by Jeff Knupp. +- Issue #15630: Add an example for "continue" stmt in the tutorial. Patch by + Daniel Ellis. -- Issue #12268: File readline, readlines and read() or readall() methods - no longer lose data when an underlying read system call is interrupted. - IOError is no longer raised due to a read system call returning EINTR - from within these methods. -- Issue #15142: Fix reference leak when deallocating instances of types - created using PyType_FromSpec(). -- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on - the work by Hirokazu Yamamoto. +What's New in Python 3.3.0 Beta 2? +================================== -- Issue #14775: Fix a potential quadratic dict build-up due to the garbage - collector repeatedly trying to untrack dicts. +*Release date: 12-Aug-2012* -- Issue #14494: Fix __future__.py and its documentation to note that - absolute imports are the default behavior in 3.0 instead of 2.7. - Patch by Sven Marnach. +Core and Builtins +----------------- -- Issue #14761: Fix potential leak on an error case in the import machinery. +- Issue #15568: Fix the return value of "yield from" when StopIteration is + raised by a custom iterator. -- Issue #14699: Fix calling the classmethod descriptor directly. +- Issue #13119: sys.stdout and sys.stderr are now using "\r\n" newline on + Windows, as Python 2. -- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin - is closed. +- Issue #15534: Fix the fast-search function for non-ASCII Unicode strings. -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError - when repr() or str() is called on such an object. +- Issue #15508: Fix the docstring for __import__ to have the proper default + value of 0 for 'level' and to not mention negative levels since they are not + supported. -- Issue #14658: Fix binding a special method to a builtin implementation of a - special method with a different name. +- Issue #15425: Eliminated traceback noise from more situations involving + importlib. -- Issue #14630: Fix a memory access bug for instances of a subclass of int - with value 0. +- Issue #14578: Support modules registered in the Windows registry again. -- Issue #14612: Fix jumping around with blocks by setting f_lineno. +- Issue #15466: Stop using TYPE_INT64 in marshal, to make importlib.h (and other + byte code files) equal between 32-bit and 64-bit systems. -- Issue #14607: Fix keyword-only arguments which started with ``__``. +- Issue #1692335: Move initial exception args assignment to + "BaseException.__new__" to help pickling of naive subclasses. -- Issue #13889: Check and (if necessary) set FPU control word before calling - any of the dtoa.c string <-> float conversion functions, on MSVC builds of - Python. This fixes issues when embedding Python in a Delphi app. +- Issue #12834: Fix PyBuffer_ToContiguous() for non-contiguous arrays. -- Issue #14474: Save and restore exception state in thread.start_new_thread() - while writing error message if the thread leaves a unhandled exception. +- Issue #15456: Fix code __sizeof__ after #12399 change. Patch by Serhiy + Storchaka. -- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch - by Suman Saha. +- Issue #15404: Refleak in PyMethodObject repr. -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as - the module name that was not interned. +- Issue #15394: An issue in PyModule_Create that caused references to be leaked + on some error paths has been fixed. Patch by Julia Lawall. -- Issue #14331: Use significantly less stack space when importing modules by - allocating path buffers on the heap instead of the stack. +- Issue #15368: An issue that caused bytecode generation to be non-deterministic + has been fixed. -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not - passed strings. +- Issue #15202: Consistently use the name "follow_symlinks" for new parameters + in os and shutil functions. -- Issue #1469629: Allow cycles through an object's __dict__ slot to be - collected. (For example if ``x.__dict__ is x``). +- Issue #15314: __main__.__loader__ is now set correctly during interpreter + startup. -- Issue #14172: Fix reference leak when marshalling a buffer-like object - (other than a bytes object). +- Issue #15111: When a module imported using 'from import' has an ImportError + inside itself, don't mask that fact behind a generic ImportError for the + module itself. -- Issue #13521: dict.setdefault() now does only one lookup for the given key, - making it "atomic" for many purposes. Patch by Filip Gruszczyński. +- Issue #15293: Add GC support to the AST base node type. -- Issue #14471: Fix a possible buffer overrun in the winreg module. +- Issue #15291: Fix a memory leak where AST nodes where not properly + deallocated. + +- Issue #15110: Fix the tracebacks generated by "import xxx" to not show the + importlib stack frames. + +- Issue #15020: The program name used to search for Python's path is now + "python3" under Unix, not "python". + +- Issue #15033: Fix the exit status bug when modules invoked using -m swith, + return the proper failure return value (1). Patch contributed by Jeff Knupp. + +- Issue #15229: An OSError subclass whose __init__ doesn't call back + OSError.__init__ could produce incomplete instances, leading to crashes when + calling str() on them. + +- Issue 15307: Virtual environments now use symlinks with framework builds on + Mac OS X, like other POSIX builds. Library -------