--- /dev/null
+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)