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 logging import pprint import re @@ -101,5 +102,21 @@ def expectedFailure(func): raise self.test_case.failureException(msg) +# 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 + class _AssertRaisesBaseContext(_BaseTestCaseContext): def __init__(self, expected, test_case, expected_regex=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) from .suite import BaseTestSuite, TestSuite from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames, findTestCases)