From 80dffefcd9885fa59356eaf6931ca11a99cbb392 Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 3 Jul 2011 17:39:20 -0700 Subject: [PATCH 1/8] Fix closes issue12438 - idlelib.PyShell's showformatwarning method was passing an incorrect arg. --- Lib/idlelib/PyShell.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/idlelib/PyShell.py b/Lib/idlelib/PyShell.py index 06c8bba4d67..834805ea7b4 100644 --- a/Lib/idlelib/PyShell.py +++ b/Lib/idlelib/PyShell.py @@ -59,7 +59,7 @@ else: file = warning_stream try: file.write(warnings.formatwarning(message, category, filename, - lineno, file=file, line=line)) + lineno, line=line)) except IOError: pass ## file (probably __stderr__) is invalid, warning dropped. warnings.showwarning = idle_showwarning From c8763b9d96510fd4fa0ec40ab3f188f3dd6b70ef Mon Sep 17 00:00:00 2001 From: Senthil Kumaran Date: Sun, 3 Jul 2011 18:21:38 -0700 Subject: [PATCH 2/8] Fix closes issue issue12470 - check for utime for the skipUnless condition. --- Lib/test/test_shutil.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py index 475a26b4865..e2310e26f3c 100644 --- a/Lib/test/test_shutil.py +++ b/Lib/test/test_shutil.py @@ -427,7 +427,7 @@ class TestShutil(unittest.TestCase): self.assertEqual(os.stat(file1).st_mode, os.stat(file2).st_mode) @unittest.skipUnless(hasattr(os, 'chmod'), 'requires os.chmod') - @unittest.skipUnless(hasattr(os, 'chmod'), 'requires os.utime') + @unittest.skipUnless(hasattr(os, 'utime'), 'requires os.utime') def test_copy2(self): # Ensure that the copied file exists and has the same mode and # modification time bits. From 4479841b83feffdfe7ab43e2ba80ea0da8b155eb Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 4 Jul 2011 11:48:17 +0200 Subject: [PATCH 3/8] Issue #12429: Skip interrupted write tests on FreeBSD <= 7 On FreeBSD, the SIGALRM signal is sometimes received by the reader thread. --- Lib/test/test_io.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 707b7cb0885..cfd4583cb20 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -2651,6 +2651,8 @@ class SignalsTest(unittest.TestCase): 1/0 @unittest.skipUnless(threading, 'Threading required for this test.') + @unittest.skipIf(sys.platform in ('freebsd5', 'freebsd6', 'freebsd7'), + 'issue #12429: skip test on FreeBSD <= 7') def check_interrupted_write(self, item, bytes, **fdopen_kwargs): """Check that a partial write, when it gets interrupted, properly invokes the signal handler, and bubbles up the exception raised From 3aba49899c1f78daf1bafce5b1fd46acbd15b2f2 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Fri, 8 Jul 2011 19:19:57 +0200 Subject: [PATCH 4/8] Avoid failing in test_urllibnet.test_bad_address when some overzealous DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test is now skipped instead. --- Lib/test/test_urllibnet.py | 8 ++++++++ Misc/NEWS | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/Lib/test/test_urllibnet.py b/Lib/test/test_urllibnet.py index 03d1708fdd6..383b2affd09 100644 --- a/Lib/test/test_urllibnet.py +++ b/Lib/test/test_urllibnet.py @@ -113,6 +113,14 @@ class urlopenNetworkTests(unittest.TestCase): def test_bad_address(self): # Make sure proper exception is raised when connecting to a bogus # address. + bogus_domain = "sadflkjsasf.i.nvali.d" + try: + socket.gethostbyname(bogus_domain) + except socket.gaierror: + pass + else: + # This happens with some overzealous DNS providers such as OpenDNS + self.skipTest("%r should not resolve for test to work" % bogus_domain) self.assertRaises(IOError, # SF patch 809915: In Sep 2003, VeriSign started # highjacking invalid .com and .net addresses to diff --git a/Misc/NEWS b/Misc/NEWS index 1518bd1fb11..e4ddb3cd5d9 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -16,6 +16,13 @@ Library - Issue #12467: warnings: fix a race condition if a warning is emitted at shutdown, if globals()['__file__'] is None. +Tests +----- + +- Avoid failing in test_urllibnet.test_bad_address when some overzealous + DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test + is now skipped instead. + What's New in Python 3.2.1 release candidate 2? =============================================== From 9163c473dc0e025bc3b922a94edc82d81667a05d Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Sat, 9 Jul 2011 02:31:24 +0200 Subject: [PATCH 5/8] Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary failure in name resolution. Should fix a buildbot failure. --- Lib/test/support.py | 1 + Misc/NEWS | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Lib/test/support.py b/Lib/test/support.py index 83ea6c1bf0f..e2d7ae05a58 100644 --- a/Lib/test/support.py +++ b/Lib/test/support.py @@ -867,6 +867,7 @@ def transient_internet(resource_name, *, timeout=30.0, errnos=()): ('ETIMEDOUT', 110), ] default_gai_errnos = [ + ('EAI_AGAIN', -3), ('EAI_NONAME', -2), ('EAI_NODATA', -5), # Encountered when trying to resolve IPv6-only hostnames diff --git a/Misc/NEWS b/Misc/NEWS index e4ddb3cd5d9..b550cc2136c 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -19,6 +19,9 @@ Library Tests ----- +- Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary + failure in name resolution. + - Avoid failing in test_urllibnet.test_bad_address when some overzealous DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test is now skipped instead. From cd0dc16fdc60860bb69be020518234c0e897a1fb Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 9 Jul 2011 08:56:21 +0200 Subject: [PATCH 6/8] Bump version to 3.2.1. --- Include/patchlevel.h | 6 +++--- Lib/distutils/__init__.py | 2 +- Lib/idlelib/idlever.py | 2 +- Misc/NEWS | 5 +---- Misc/RPM/python-3.2.spec | 2 +- README | 4 ++-- 6 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Include/patchlevel.h b/Include/patchlevel.h index 621f4c59d83..ec658f3db34 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -19,11 +19,11 @@ #define PY_MAJOR_VERSION 3 #define PY_MINOR_VERSION 2 #define PY_MICRO_VERSION 1 -#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA -#define PY_RELEASE_SERIAL 2 +#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL +#define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.2.1rc2+" +#define PY_VERSION "3.2.1" /*--end constants--*/ /* Subversion Revision number of this file (not of the repository). Empty diff --git a/Lib/distutils/__init__.py b/Lib/distutils/__init__.py index 2602c5074b6..a470ade93e2 100644 --- a/Lib/distutils/__init__.py +++ b/Lib/distutils/__init__.py @@ -15,5 +15,5 @@ __revision__ = "$Id$" # Updated automatically by the Python release process. # #--start constants-- -__version__ = "3.2.1rc2" +__version__ = "3.2.1" #--end constants-- diff --git a/Lib/idlelib/idlever.py b/Lib/idlelib/idlever.py index a437b7b0aaa..3fc5e7f7750 100644 --- a/Lib/idlelib/idlever.py +++ b/Lib/idlelib/idlever.py @@ -1 +1 @@ -IDLE_VERSION = "3.2.1rc2" +IDLE_VERSION = "3.2.1" diff --git a/Misc/NEWS b/Misc/NEWS index b550cc2136c..c0e354d1727 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -5,10 +5,7 @@ Python News What's New in Python 3.2.1? =========================== -*Release date: XXXX-XX-XX* - -Core and Builtins ------------------ +*Release date: 10-Jul-2011* Library ------- diff --git a/Misc/RPM/python-3.2.spec b/Misc/RPM/python-3.2.spec index 234caeb04d6..955ca3d6ac0 100644 --- a/Misc/RPM/python-3.2.spec +++ b/Misc/RPM/python-3.2.spec @@ -39,7 +39,7 @@ %define name python #--start constants-- -%define version 3.2.1rc2 +%define version 3.2.1 %define libvers 3.2 #--end constants-- %define release 1pydotorg diff --git a/README b/README index 7fa22887d64..4667a707bc6 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -This is Python version 3.2.1 release candidate 2 -================================================ +This is Python version 3.2.1 +============================ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Python Software Foundation. All rights reserved. From 7179bf1540d624a772055f23476aec238078dcf6 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 9 Jul 2011 08:56:41 +0200 Subject: [PATCH 7/8] Added tag v3.2.1 for changeset ac1f7e5c0510 --- .hgtags | 1 + 1 file changed, 1 insertion(+) diff --git a/.hgtags b/.hgtags index 299db0b16ba..97740e61bfe 100644 --- a/.hgtags +++ b/.hgtags @@ -90,3 +90,4 @@ a222a015e28d8ae9af3899258dc6c15c3d40add0 v3.2 8ffac2337a3323323d02153ac919fd1483176652 v3.2.1b1 cfa9364997c7f2e67b9cbb45c3a5fa3bba4e4999 v3.2.1rc1 5df549718fb4841ff521fe051f6b54f290fad5d8 v3.2.1rc2 +ac1f7e5c05104d557d5acd922e95625ba5d1fe10 v3.2.1 From bb9c7d0b91c4666a98bb7629265f582e6541fdad Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 9 Jul 2011 10:56:06 +0200 Subject: [PATCH 8/8] Post-release steps for 3.2.1. --- Include/patchlevel.h | 2 +- Misc/NEWS | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Include/patchlevel.h b/Include/patchlevel.h index ec658f3db34..a9477b247be 100644 --- a/Include/patchlevel.h +++ b/Include/patchlevel.h @@ -23,7 +23,7 @@ #define PY_RELEASE_SERIAL 0 /* Version as a string */ -#define PY_VERSION "3.2.1" +#define PY_VERSION "3.2.1+" /*--end constants--*/ /* Subversion Revision number of this file (not of the repository). Empty diff --git a/Misc/NEWS b/Misc/NEWS index c0e354d1727..cd4fac9e143 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -2,6 +2,18 @@ Python News +++++++++++ +What's New in Python 3.2.2? +=========================== + +*Release date: XXXX-XX-XX* + +Core and Builtins +----------------- + +Library +------- + + What's New in Python 3.2.1? ===========================