mirror of https://github.com/python/cpython
Remove some more boilerplate from the actual tests in test_pdb.
This commit is contained in:
parent
a50d20a5b1
commit
6c39f06ab2
|
@ -12,23 +12,33 @@ from test import test_support
|
||||||
from test_doctest import _FakeInput
|
from test_doctest import _FakeInput
|
||||||
|
|
||||||
|
|
||||||
|
class PdbTestInput(object):
|
||||||
|
"""Context manager that makes testing Pdb in doctests easier."""
|
||||||
|
|
||||||
|
def __init__(self, input):
|
||||||
|
self.input = input
|
||||||
|
|
||||||
|
def __enter__(self):
|
||||||
|
self.real_stdin = sys.stdin
|
||||||
|
sys.stdin = _FakeInput(self.input)
|
||||||
|
|
||||||
|
def __exit__(self, *exc):
|
||||||
|
sys.stdin = self.real_stdin
|
||||||
|
|
||||||
|
|
||||||
def test_pdb_skip_modules():
|
def test_pdb_skip_modules():
|
||||||
"""This illustrates the simple case of module skipping.
|
"""This illustrates the simple case of module skipping.
|
||||||
|
|
||||||
>>> def skip_module():
|
>>> def skip_module():
|
||||||
... import string
|
... import string
|
||||||
... import pdb;pdb.Pdb(skip=['string*']).set_trace()
|
... import pdb; pdb.Pdb(skip=['string*']).set_trace()
|
||||||
... string.lower('FOO')
|
... string.lower('FOO')
|
||||||
>>> real_stdin = sys.stdin
|
|
||||||
>>> sys.stdin = _FakeInput([
|
|
||||||
... 'step',
|
|
||||||
... 'continue',
|
|
||||||
... ])
|
|
||||||
|
|
||||||
>>> try:
|
>>> with PdbTestInput([
|
||||||
|
... 'step',
|
||||||
|
... 'continue'
|
||||||
|
... ]):
|
||||||
... skip_module()
|
... skip_module()
|
||||||
... finally:
|
|
||||||
... sys.stdin = real_stdin
|
|
||||||
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
|
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
|
||||||
-> string.lower('FOO')
|
-> string.lower('FOO')
|
||||||
(Pdb) step
|
(Pdb) step
|
||||||
|
@ -36,7 +46,7 @@ def test_pdb_skip_modules():
|
||||||
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None
|
> <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None
|
||||||
-> string.lower('FOO')
|
-> string.lower('FOO')
|
||||||
(Pdb) continue
|
(Pdb) continue
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
# Module for testing skipping of module that makes a callback
|
# Module for testing skipping of module that makes a callback
|
||||||
|
@ -50,22 +60,19 @@ def test_pdb_skip_modules_with_callback():
|
||||||
>>> def skip_module():
|
>>> def skip_module():
|
||||||
... def callback():
|
... def callback():
|
||||||
... return None
|
... return None
|
||||||
... import pdb;pdb.Pdb(skip=['module_to_skip*']).set_trace()
|
... import pdb; pdb.Pdb(skip=['module_to_skip*']).set_trace()
|
||||||
... mod.foo_pony(callback)
|
... mod.foo_pony(callback)
|
||||||
>>> real_stdin = sys.stdin
|
|
||||||
>>> sys.stdin = _FakeInput([
|
>>> with PdbTestInput([
|
||||||
... 'step',
|
... 'step',
|
||||||
... 'step',
|
... 'step',
|
||||||
... 'step',
|
... 'step',
|
||||||
... 'step',
|
... 'step',
|
||||||
... 'step',
|
... 'step',
|
||||||
... 'continue',
|
... 'continue',
|
||||||
... ])
|
... ]):
|
||||||
|
|
||||||
>>> try:
|
|
||||||
... skip_module()
|
... skip_module()
|
||||||
... finally:
|
... pass # provides something to "step" to
|
||||||
... sys.stdin = real_stdin
|
|
||||||
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
|
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
|
||||||
-> mod.foo_pony(callback)
|
-> mod.foo_pony(callback)
|
||||||
(Pdb) step
|
(Pdb) step
|
||||||
|
@ -84,10 +91,10 @@ def test_pdb_skip_modules_with_callback():
|
||||||
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None
|
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None
|
||||||
-> mod.foo_pony(callback)
|
-> mod.foo_pony(callback)
|
||||||
(Pdb) step
|
(Pdb) step
|
||||||
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[3]>(4)<module>()
|
> <doctest test.test_pdb.test_pdb_skip_modules_with_callback[1]>(10)<module>()
|
||||||
-> sys.stdin = real_stdin
|
-> pass # provides something to "step" to
|
||||||
(Pdb) continue
|
(Pdb) continue
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
def test_main():
|
def test_main():
|
||||||
|
|
Loading…
Reference in New Issue