* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
- 3.2.3; refresh patch 6 (no static lib), patch 102 (lib64) and patch 129
(test_subprocess); fix test_gdb (patches 152 and 153); regenerate the autotool
intermediates patch (patch 300); run unit tests verbosely; add support for
skipping unit tests in rpmbuild (patch 132), use it to skip a specific urllib
test (patch 154)
This commit is contained in:
David Malcolm 2012-04-13 20:14:27 -04:00
parent fa4c8e4737
commit b218f78daf
11 changed files with 252 additions and 2420 deletions

View File

@ -0,0 +1,68 @@
diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/case.py
--- Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/case.py 2011-09-09 06:35:16.365568382 -0400
@@ -3,6 +3,7 @@
import sys
import functools
import difflib
+import os
import pprint
import re
import warnings
@@ -101,6 +102,43 @@ def expectedFailure(func):
return wrapper
+# Non-standard/downstream-only hooks for handling issues with specific test
+# cases:
+
+def _skipInRpmBuild(reason):
+ """
+ Non-standard/downstream-only decorator for marking a specific unit test
+ to be skipped when run within the %check of an rpmbuild.
+
+ Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
+ the environment, and has no effect otherwise.
+ """
+ if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
+ return skip(reason)
+ else:
+ return _id
+
+def _expectedFailureInRpmBuild(func):
+ """
+ Non-standard/downstream-only decorator for marking a specific unit test
+ as expected to fail within the %check of an rpmbuild.
+
+ Specifically, this takes effect when WITHIN_PYTHON_RPM_BUILD is set within
+ the environment, and has no effect otherwise.
+ """
+ @functools.wraps(func)
+ def wrapper(*args, **kwargs):
+ if 'WITHIN_PYTHON_RPM_BUILD' in os.environ:
+ try:
+ func(*args, **kwargs)
+ except Exception:
+ raise _ExpectedFailure(sys.exc_info())
+ raise _UnexpectedSuccess
+ else:
+ # Call directly:
+ func(*args, **kwargs)
+ return wrapper
+
class _AssertRaisesBaseContext(object):
def __init__(self, expected, test_case, callable_obj=None,
diff -up Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/__init__.py
--- Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/__init__.py 2011-09-09 06:35:16.366568382 -0400
@@ -57,7 +57,8 @@ __unittest = True
from .result import TestResult
from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
- skipUnless, expectedFailure)
+ skipUnless, expectedFailure,
+ _skipInRpmBuild, _expectedFailureInRpmBuild)
from .suite import BaseTestSuite, TestSuite
from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
findTestCases)

View File

@ -0,0 +1,11 @@
--- Lib/test/test_gdb.py.old 2012-04-11 19:35:13.512681203 -0400
+++ Lib/test/test_gdb.py 2012-04-11 19:39:52.567192540 -0400
@@ -159,7 +159,7 @@ class DebuggerTests(unittest.TestCase):
# gdb can insert additional '\n' and space characters in various places
# in its output, depending on the width of the terminal it's connected
# to (using its "wrap_here" function)
- m = re.match('.*#0\s+builtin_id\s+\(self\=.*,\s+v=\s*(.*?)\)\s+at\s+Python/bltinmodule.c.*',
+ m = re.match('.*#0\s+builtin_id\s+\(self\=.*,\s+v=\s*(.*?)\)\s+at\s+\S*Python/bltinmodule.c.*',
gdb_output, re.DOTALL)
if not m:
self.fail('Unexpected gdb output: %r\n%s' % (gdb_output, gdb_output))

View File

@ -0,0 +1,35 @@
--- Lib/test/test_gdb.py.old 2012-04-11 21:04:01.367073855 -0400
+++ Lib/test/test_gdb.py 2012-04-12 08:52:58.320288761 -0400
@@ -96,6 +96,15 @@ class DebuggerTests(unittest.TestCase):
# Generate a list of commands in gdb's language:
commands = ['set breakpoint pending yes',
'break %s' % breakpoint,
+
+ # GDB as of Fedora 17 onwards can distinguish between the
+ # value of a variable at entry vs current value:
+ # http://sourceware.org/gdb/onlinedocs/gdb/Variables.html
+ # which leads to the selftests failing with errors like this:
+ # AssertionError: 'v@entry=()' != '()'
+ # Disable this:
+ 'set print entry-values no',
+
'run']
if cmds_after_breakpoint:
commands += cmds_after_breakpoint
@@ -135,8 +144,16 @@ class DebuggerTests(unittest.TestCase):
err = err.replace("warning: Cannot initialize thread debugging"
" library: Debugger service failed\n",
'')
+ err = '\n'.join([line
+ for line in err.splitlines()
+ if not line.startswith('warning: Unable to open')
+ if not line.startswith('Missing separate debuginfo for')
+ if not line.startswith('Try: yum --disablerepo=')
+ # In case 'set print entry-values no' failed:
+ if not line.startswith('Undefined set print command')])
# Ensure no unexpected error messages:
+ self.maxDiff = None
self.assertEqual(err, '')
return out

View File

@ -0,0 +1,11 @@
diff -up Python-3.2.3/Lib/test/test_urllib.py.dns Python-3.2.3/Lib/test/test_urllib.py
--- Python-3.2.3/Lib/test/test_urllib.py.dns 2012-04-13 15:36:36.619369718 -0400
+++ Python-3.2.3/Lib/test/test_urllib.py 2012-04-13 15:49:39.439583119 -0400
@@ -1146,6 +1146,7 @@ class Utility_Tests(unittest.TestCase):
self.assertEqual(('user 2', 'ab'),urllib.parse.splitpasswd('user 2:ab'))
self.assertEqual(('user+1', 'a+b'),urllib.parse.splitpasswd('user+1:a+b'))
+ @unittest._skipInRpmBuild('test requires working DNS')
def test_thishost(self):
"""Test the urllib.request.thishost utility function returns a tuple"""
self.assertIsInstance(urllib.request.thishost(), tuple)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.in
--- Python-3.2rc1/Makefile.pre.in.no-static-lib 2010-12-30 17:12:40.000000000 -0500
+++ Python-3.2rc1/Makefile.pre.in 2011-01-17 12:58:32.123947161 -0500
@@ -421,7 +421,7 @@ coverage:
diff -up Python-3.2.1/Makefile.pre.in.no-static-lib Python-3.2.1/Makefile.pre.in
--- Python-3.2.1/Makefile.pre.in.no-static-lib 2011-07-09 02:58:52.000000000 -0400
+++ Python-3.2.1/Makefile.pre.in 2011-07-11 11:46:27.381425999 -0400
@@ -425,7 +425,7 @@ coverage:
# Build the interpreter
@ -10,7 +10,7 @@ diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
platform: $(BUILDPYTHON)
@@ -435,18 +435,6 @@ sharedmods: $(BUILDPYTHON)
@@ -439,18 +439,6 @@ sharedmods: $(BUILDPYTHON)
*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
esac
@ -29,7 +29,16 @@ diff -up Python-3.2rc1/Makefile.pre.in.no-static-lib Python-3.2rc1/Makefile.pre.
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
@@ -1048,18 +1036,6 @@ libainstall: all python-config
@@ -540,7 +528,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.d
echo "-----------------------------------------------"; \
fi
-Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
+Modules/_testembed: Modules/_testembed.o $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
############################################################################
@@ -1058,18 +1046,6 @@ libainstall: all python-config
else true; \
fi; \
done

View File

@ -0,0 +1,12 @@
diff -up Python-3.2.3/Lib/test/test_subprocess.py.test_subprocess Python-3.2.3/Lib/test/test_subprocess.py
--- Python-3.2.3/Lib/test/test_subprocess.py.test_subprocess 2012-04-11 02:54:05.000000000 -0400
+++ Python-3.2.3/Lib/test/test_subprocess.py 2012-04-11 20:48:38.408612425 -0400
@@ -651,7 +651,7 @@ class ProcessTestCase(BaseTestCase):
for i in range(1024):
# Windows raises IOError. Others raise OSError.
with self.assertRaises(EnvironmentError) as c:
- subprocess.Popen(['nonexisting_i_hope'],
+ subprocess.Popen(['/usr/bin/nonexisting_i_hope'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# ignore errors that indicate the command was not found

View File

@ -1,7 +1,7 @@
diff -up Python-3.2b2/Lib/distutils/command/install.py.lib64 Python-3.2b2/Lib/distutils/command/install.py
--- Python-3.2b2/Lib/distutils/command/install.py.lib64 2010-11-24 22:46:44.000000000 -0500
+++ Python-3.2b2/Lib/distutils/command/install.py 2010-12-29 10:21:55.510184563 -0500
@@ -47,14 +47,14 @@ else:
diff -up Python-3.2.3/Lib/distutils/command/install.py.lib64 Python-3.2.3/Lib/distutils/command/install.py
--- Python-3.2.3/Lib/distutils/command/install.py.lib64 2012-04-11 02:54:02.000000000 -0400
+++ Python-3.2.3/Lib/distutils/command/install.py 2012-04-11 19:01:19.727107020 -0400
@@ -45,14 +45,14 @@ else:
INSTALL_SCHEMES = {
'unix_prefix': {
'purelib': '$base/lib/python$py_version_short/site-packages',
@ -18,10 +18,10 @@ diff -up Python-3.2b2/Lib/distutils/command/install.py.lib64 Python-3.2b2/Lib/di
'headers': '$base/include/python/$dist_name',
'scripts': '$base/bin',
'data' : '$base',
diff -up Python-3.2b2/Lib/distutils/sysconfig.py.lib64 Python-3.2b2/Lib/distutils/sysconfig.py
--- Python-3.2b2/Lib/distutils/sysconfig.py.lib64 2010-11-24 14:43:47.000000000 -0500
+++ Python-3.2b2/Lib/distutils/sysconfig.py 2010-12-29 10:21:55.510184563 -0500
@@ -124,8 +124,12 @@ def get_python_lib(plat_specific=0, stan
diff -up Python-3.2.3/Lib/distutils/sysconfig.py.lib64 Python-3.2.3/Lib/distutils/sysconfig.py
--- Python-3.2.3/Lib/distutils/sysconfig.py.lib64 2012-04-11 02:54:02.000000000 -0400
+++ Python-3.2.3/Lib/distutils/sysconfig.py 2012-04-11 19:01:19.727107020 -0400
@@ -122,8 +122,12 @@ def get_python_lib(plat_specific=0, stan
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
@ -35,10 +35,10 @@ diff -up Python-3.2b2/Lib/distutils/sysconfig.py.lib64 Python-3.2b2/Lib/distutil
if standard_lib:
return libpython
else:
diff -up Python-3.2b2/Lib/site.py.lib64 Python-3.2b2/Lib/site.py
--- Python-3.2b2/Lib/site.py.lib64 2010-10-12 18:23:23.000000000 -0400
+++ Python-3.2b2/Lib/site.py 2010-12-29 10:21:55.511184595 -0500
@@ -275,12 +275,16 @@ def getsitepackages():
diff -up Python-3.2.3/Lib/site.py.lib64 Python-3.2.3/Lib/site.py
--- Python-3.2.3/Lib/site.py.lib64 2012-04-11 02:54:03.000000000 -0400
+++ Python-3.2.3/Lib/site.py 2012-04-11 19:01:19.728107008 -0400
@@ -285,12 +285,16 @@ def getsitepackages():
if sys.platform in ('os2emx', 'riscos'):
sitepackages.append(os.path.join(prefix, "Lib", "site-packages"))
elif os.sep == '/':
@ -55,9 +55,9 @@ diff -up Python-3.2b2/Lib/site.py.lib64 Python-3.2b2/Lib/site.py
sitepackages.append(os.path.join(prefix, "lib", "site-packages"))
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
diff -up Python-3.2b2/Lib/sysconfig.py.lib64 Python-3.2b2/Lib/sysconfig.py
--- Python-3.2b2/Lib/sysconfig.py.lib64 2010-11-24 20:34:47.000000000 -0500
+++ Python-3.2b2/Lib/sysconfig.py 2010-12-29 10:21:55.512184877 -0500
diff -up Python-3.2.3/Lib/sysconfig.py.lib64 Python-3.2.3/Lib/sysconfig.py
--- Python-3.2.3/Lib/sysconfig.py.lib64 2012-04-11 02:54:03.000000000 -0400
+++ Python-3.2.3/Lib/sysconfig.py 2012-04-11 19:01:19.728107008 -0400
@@ -21,10 +21,10 @@ __all__ = [
_INSTALL_SCHEMES = {
@ -86,13 +86,13 @@ diff -up Python-3.2b2/Lib/sysconfig.py.lib64 Python-3.2b2/Lib/sysconfig.py
'include': '{userbase}/include/python{py_version_short}',
'scripts': '{userbase}/bin',
'data' : '{userbase}',
diff -up Python-3.2b2/Lib/test/test_site.py.lib64 Python-3.2b2/Lib/test/test_site.py
--- Python-3.2b2/Lib/test/test_site.py.lib64 2010-12-29 10:35:12.417308989 -0500
+++ Python-3.2b2/Lib/test/test_site.py 2010-12-29 10:36:27.124059073 -0500
@@ -164,12 +164,15 @@ class HelperFunctionsTests(unittest.Test
wanted = os.path.join('xoxo', 'Lib', 'site-packages')
self.assertEqual(dirs[0], wanted)
diff -up Python-3.2.3/Lib/test/test_site.py.lib64 Python-3.2.3/Lib/test/test_site.py
--- Python-3.2.3/Lib/test/test_site.py.lib64 2012-04-11 02:54:05.000000000 -0400
+++ Python-3.2.3/Lib/test/test_site.py 2012-04-11 19:02:01.413585869 -0400
@@ -236,12 +236,15 @@ class HelperFunctionsTests(unittest.Test
self.assertEqual(dirs[2], wanted)
elif os.sep == '/':
# OS X non-framwework builds, Linux, FreeBSD, etc
- self.assertEqual(len(dirs), 2)
- wanted = os.path.join('xoxo', 'lib', 'python' + sys.version[:3],
+ self.assertEqual(len(dirs), 3)
@ -106,12 +106,12 @@ diff -up Python-3.2b2/Lib/test/test_site.py.lib64 Python-3.2b2/Lib/test/test_sit
+ wanted = os.path.join('xoxo', 'lib', 'site-python')
+ self.assertEqual(dirs[2], wanted)
else:
# other platforms
self.assertEqual(len(dirs), 2)
self.assertEqual(dirs[0], 'xoxo')
diff -up Python-3.2b2/Makefile.pre.in.lib64 Python-3.2b2/Makefile.pre.in
--- Python-3.2b2/Makefile.pre.in.lib64 2010-12-29 10:21:55.506183982 -0500
+++ Python-3.2b2/Makefile.pre.in 2010-12-29 10:21:55.512184877 -0500
@@ -102,7 +102,7 @@ LIBDIR= @libdir@
diff -up Python-3.2.3/Makefile.pre.in.lib64 Python-3.2.3/Makefile.pre.in
--- Python-3.2.3/Makefile.pre.in.lib64 2012-04-11 19:01:19.722107084 -0400
+++ Python-3.2.3/Makefile.pre.in 2012-04-11 19:01:19.729106996 -0400
@@ -106,7 +106,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
@ -120,9 +120,9 @@ diff -up Python-3.2b2/Makefile.pre.in.lib64 Python-3.2b2/Makefile.pre.in
ABIFLAGS= @ABIFLAGS@
# Detailed destination directories
diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
--- Python-3.2b2/Modules/getpath.c.lib64 2010-12-03 15:14:31.000000000 -0500
+++ Python-3.2b2/Modules/getpath.c 2010-12-29 10:21:55.513184358 -0500
diff -up Python-3.2.3/Modules/getpath.c.lib64 Python-3.2.3/Modules/getpath.c
--- Python-3.2.3/Modules/getpath.c.lib64 2012-04-11 02:54:07.000000000 -0400
+++ Python-3.2.3/Modules/getpath.c 2012-04-11 19:01:19.729106996 -0400
@@ -122,8 +122,8 @@
#endif
@ -134,16 +134,16 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
#endif
#ifndef LANDMARK
@@ -134,7 +134,7 @@ static wchar_t prefix[MAXPATHLEN+1];
static wchar_t exec_prefix[MAXPATHLEN+1];
@@ -135,7 +135,7 @@ static wchar_t exec_prefix[MAXPATHLEN+1]
static wchar_t progpath[MAXPATHLEN+1];
static wchar_t *module_search_path = NULL;
static int module_search_path_malloced = 0;
-static wchar_t *lib_python = L"lib/python" VERSION;
+static wchar_t *lib_python = L"lib64/python" VERSION;
static void
reduce(wchar_t *dir)
@@ -582,7 +582,7 @@ calculate_path(void)
@@ -583,7 +583,7 @@ calculate_path(void)
}
else
wcsncpy(zip_path, _prefix, MAXPATHLEN);
@ -152,7 +152,7 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
bufsz = wcslen(zip_path); /* Replace "00" with version */
zip_path[bufsz - 6] = VERSION[0];
zip_path[bufsz - 5] = VERSION[2];
@@ -592,7 +592,7 @@ calculate_path(void)
@@ -593,7 +593,7 @@ calculate_path(void)
fprintf(stderr,
"Could not find platform dependent libraries <exec_prefix>\n");
wcsncpy(exec_prefix, _exec_prefix, MAXPATHLEN);
@ -161,19 +161,19 @@ diff -up Python-3.2b2/Modules/getpath.c.lib64 Python-3.2b2/Modules/getpath.c
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
diff -up Python-3.2b2/setup.py.lib64 Python-3.2b2/setup.py
--- Python-3.2b2/setup.py.lib64 2010-12-04 13:36:03.000000000 -0500
+++ Python-3.2b2/setup.py 2010-12-29 10:21:55.514184248 -0500
@@ -373,7 +373,7 @@ class PyBuildExt(build_ext):
diff -up Python-3.2.3/setup.py.lib64 Python-3.2.3/setup.py
--- Python-3.2.3/setup.py.lib64 2012-04-11 02:54:08.000000000 -0400
+++ Python-3.2.3/setup.py 2012-04-11 19:01:19.730106984 -0400
@@ -396,7 +396,7 @@ class PyBuildExt(build_ext):
# Ensure that /usr/local is always used, but the local build
# directories (i.e. '.' and 'Include') must be first. See issue
# 10520.
- add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib')
+ add_dir_to_list(self.compiler.library_dirs, '/usr/local/lib64')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and
@@ -619,11 +619,11 @@ class PyBuildExt(build_ext):
@@ -643,11 +643,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs +
@ -187,7 +187,7 @@ diff -up Python-3.2b2/setup.py.lib64 Python-3.2b2/setup.py
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
@@ -660,8 +660,8 @@ class PyBuildExt(build_ext):
@@ -684,8 +684,8 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,

View File

@ -1,12 +0,0 @@
diff -up Python-3.2b2/Lib/test/test_subprocess.py.non-readable-path Python-3.2b2/Lib/test/test_subprocess.py
--- Python-3.2b2/Lib/test/test_subprocess.py.non-readable-path 2010-12-29 16:25:38.498184175 -0500
+++ Python-3.2b2/Lib/test/test_subprocess.py 2010-12-29 16:25:51.094184539 -0500
@@ -578,7 +578,7 @@ class ProcessTestCase(BaseTestCase):
for i in range(1024):
# Windows raises IOError. Others raise OSError.
with self.assertRaises(EnvironmentError) as c:
- subprocess.Popen(['nonexisting_i_hope'],
+ subprocess.Popen(['/usr/bin/nonexisting_i_hope'],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
if c.exception.errno != errno.ENOENT: # ignore "no such file"

View File

@ -110,8 +110,8 @@
Summary: Version 3 of the Python programming language aka Python 3000
Name: python3
Version: %{pybasever}
Release: 3%{?dist}
Version: %{pybasever}.3
Release: 1%{?dist}
License: Python
Group: Development/Languages
Source: http://python.org/ftp/python/%{version}/Python-%{version}.tar.bz2
@ -176,7 +176,7 @@ Patch3: python-3.2b2-remove-mimeaudio-tests.patch
# Patch the Makefile.pre.in so that the generated Makefile doesn't try to build
# a libpythonMAJOR.MINOR.a (bug 550692):
Patch6: python-3.2rc1-no-static-lib.patch
Patch6: python-3.2.1-no-static-lib.patch
# Systemtap support: add statically-defined probe points
# Patch based on upstream bug: http://bugs.python.org/issue4111
@ -185,7 +185,7 @@ Patch6: python-3.2rc1-no-static-lib.patch
# dmalcolm
Patch8: python-3.2b2-systemtap.patch
Patch102: python-3.2b2-lib64.patch
Patch102: python-3.2.3-lib64.patch
# Add configure-time support for the COUNT_ALLOCS and CALL_PROFILE options
# described at http://svn.python.org/projects/python/trunk/Misc/SpecialBuilds.txt
@ -227,7 +227,33 @@ Patch128: python-3.2b2-test_sys-COUNT_ALLOCS.patch
# Work around this by specifying an absolute path for the non-existant
# executable
# Not yet sent upstream
Patch129: python-3.2b2-fix-test-subprocess-with-nonreadable-path-dir.patch
Patch129: python-3.2.3-fix-test-subprocess-with-nonreadable-path-dir.patch
# Add non-standard hooks to unittest for use in the "check" phase below, when
# running selftests within the build:
# @unittest._skipInRpmBuild(reason)
# for tests that hang or fail intermittently within the build environment, and:
# @unittest._expectedFailureInRpmBuild
# for tests that always fail within the build environment
#
# The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
# environment, which we set manually in the appropriate portion of the "check"
# phase below (and which potentially other python-* rpms could set, to reuse
# these unittest hooks in their own "check" phases)
Patch132: 00132-add-rpmbuild-hooks-to-unittest.patch
# Fix a regex in test_gdb so that it doesn't choke when gdb provides a full
# path to Python/bltinmodule.c:
Patch152: 00152-fix-test-gdb-regex.patch
# Strip out lines of the form "warning: Unable to open ..." from gdb's stderr
# when running test_gdb.py; also cope with change to gdb in F17 onwards in
# which values are printed as "v@entry" rather than just "v":
Patch153: 00153-fix-test_gdb-noise.patch
# Skip a test that requires sane DNS during rpmbuild, since this was failing
# inside Koji for some reason:
Patch154: 00154-skip-urllib-test-requiring-working-DNS.patch
# This is the generated patch to "configure"; see the description of
# %{regenerate_autotooling_patch}
@ -397,6 +423,12 @@ rm -r Modules/zlib || exit 1
%patch128 -p1
%patch129 -p1
%patch132 -p1
%patch152 -p0
%patch153 -p0
%patch154 -p1
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
# are many differences between 2.6 and the Python 3 library.
#
@ -848,8 +880,12 @@ CheckPython() {
# Note that we're running the tests using the version of the code in the builddir,
# not in the buildroot.
# Run the upstream test suite
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest -x $EXCLUDED_TESTS
# Run the upstream test suite, setting "WITHIN_PYTHON_RPM_BUILD" so that the
# our non-standard decorators take effect on the relevant tests:
# @unittest._skipInRpmBuild(reason)
# @unittest._expectedFailureInRpmBuild
WITHIN_PYTHON_RPM_BUILD= \
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest -v -x $EXCLUDED_TESTS
echo FINISHED: CHECKING OF PYTHON FOR CONFIGURATION: $ConfName
@ -1221,6 +1257,13 @@ rm -fr %{buildroot}
%changelog
* Thu Apr 12 2012 David Malcolm <dmalcolm@redhat.com> - 3.2.3-1
- 3.2.3; refresh patch 6 (no static lib), patch 102 (lib64) and patch 129
(test_subprocess); fix test_gdb (patches 152 and 153); regenerate the autotool
intermediates patch (patch 300); run unit tests verbosely; add support for
skipping unit tests in rpmbuild (patch 132), use it to skip a specific urllib
test (patch 154)
* Sun Oct 09 2011 Daniel Drake <dsd@laptop.org> - 3.2-3
- don't run test_openpty and test_pty in %%check
- exclude failing tests on ARM

View File

@ -1 +1 @@
92e94b5b6652b96349d6362b8337811d Python-3.2.tar.bz2
cea34079aeb2e21e7b60ee82a0ac286b Python-3.2.3.tar.bz2