bpo-34596: Fallback to a default reason when @unittest.skip is uncalled (#9082)
* bpo-34596: Fallback to a default reason when @unittest.skip is uncalled * Change default reason to empty string * Fix rst formatting of NEWS entry
This commit is contained in:
parent
264e034f99
commit
d5fd75c53f
|
@ -10,6 +10,7 @@ import warnings
|
|||
import collections
|
||||
import contextlib
|
||||
import traceback
|
||||
import types
|
||||
|
||||
from . import result
|
||||
from .util import (strclass, safe_repr, _count_diff_all_purpose,
|
||||
|
@ -122,6 +123,10 @@ def skip(reason):
|
|||
test_item.__unittest_skip__ = True
|
||||
test_item.__unittest_skip_why__ = reason
|
||||
return test_item
|
||||
if isinstance(reason, types.FunctionType):
|
||||
test_item = reason
|
||||
reason = ''
|
||||
return decorator(test_item)
|
||||
return decorator
|
||||
|
||||
def skipIf(condition, reason):
|
||||
|
|
|
@ -255,6 +255,17 @@ class Test_TestSkipping(unittest.TestCase):
|
|||
suite.run(result)
|
||||
self.assertEqual(result.skipped, [(test, "testing")])
|
||||
|
||||
def test_skip_without_reason(self):
|
||||
class Foo(unittest.TestCase):
|
||||
@unittest.skip
|
||||
def test_1(self):
|
||||
pass
|
||||
|
||||
result = unittest.TestResult()
|
||||
test = Foo("test_1")
|
||||
suite = unittest.TestSuite([test])
|
||||
suite.run(result)
|
||||
self.assertEqual(result.skipped, [(test, "")])
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Fallback to a default reason when :func:`unittest.skip` is uncalled. Patch by
|
||||
Naitree Zhu.
|
Loading…
Reference in New Issue