summaryrefslogtreecommitdiff
path: root/src/python/stdlib/test/test_pdb.py
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2011-10-26 13:50:50 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2011-10-26 13:50:50 (GMT)
commite46ef289e142982d7bd592faa7b0f85470364c01 (patch)
treecda253e03788f7db0a7cdcd05662f66b4455e298 /src/python/stdlib/test/test_pdb.py
parentd0d0d62bbcbb5c3417f8cba419c83bac192ea985 (diff)
downloadpowder-e46ef289e142982d7bd592faa7b0f85470364c01.zip
powder-e46ef289e142982d7bd592faa7b0f85470364c01.tar.gz
Remove Python console stuff
Diffstat (limited to 'src/python/stdlib/test/test_pdb.py')
-rw-r--r--src/python/stdlib/test/test_pdb.py177
1 files changed, 0 insertions, 177 deletions
diff --git a/src/python/stdlib/test/test_pdb.py b/src/python/stdlib/test/test_pdb.py
deleted file mode 100644
index 8aca812..0000000
--- a/src/python/stdlib/test/test_pdb.py
+++ /dev/null
@@ -1,177 +0,0 @@
-# A test suite for pdb; at the moment, this only validates skipping of
-# specified test modules (RFE #5142).
-
-import imp
-import sys
-
-from test import test_support
-# This little helper class is essential for testing pdb under doctest.
-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 write(x):
- print x
-
-def test_pdb_displayhook():
- """This tests the custom displayhook for pdb.
-
- >>> def test_function(foo, bar):
- ... import pdb; pdb.Pdb().set_trace()
- ... pass
-
- >>> with PdbTestInput([
- ... 'foo',
- ... 'bar',
- ... 'for i in range(5): write(i)',
- ... 'continue',
- ... ]):
- ... test_function(1, None)
- > <doctest test.test_pdb.test_pdb_displayhook[0]>(3)test_function()
- -> pass
- (Pdb) foo
- 1
- (Pdb) bar
- (Pdb) for i in range(5): write(i)
- 0
- 1
- 2
- 3
- 4
- (Pdb) continue
- """
-
-
-def test_pdb_skip_modules():
- """This illustrates the simple case of module skipping.
-
- >>> def skip_module():
- ... import string
- ... import pdb; pdb.Pdb(skip=['string*']).set_trace()
- ... string.lower('FOO')
-
- >>> with PdbTestInput([
- ... 'step',
- ... 'continue',
- ... ]):
- ... skip_module()
- > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()
- -> string.lower('FOO')
- (Pdb) step
- --Return--
- > <doctest test.test_pdb.test_pdb_skip_modules[0]>(4)skip_module()->None
- -> string.lower('FOO')
- (Pdb) continue
- """
-
-
-# Module for testing skipping of module that makes a callback
-mod = imp.new_module('module_to_skip')
-exec 'def foo_pony(callback): x = 1; callback(); return None' in mod.__dict__
-
-
-def test_pdb_skip_modules_with_callback():
- """This illustrates skipping of modules that call into other code.
-
- >>> def skip_module():
- ... def callback():
- ... return None
- ... import pdb; pdb.Pdb(skip=['module_to_skip*']).set_trace()
- ... mod.foo_pony(callback)
-
- >>> with PdbTestInput([
- ... 'step',
- ... 'step',
- ... 'step',
- ... 'step',
- ... 'step',
- ... 'continue',
- ... ]):
- ... skip_module()
- ... pass # provides something to "step" to
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()
- -> mod.foo_pony(callback)
- (Pdb) step
- --Call--
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(2)callback()
- -> def callback():
- (Pdb) step
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()
- -> return None
- (Pdb) step
- --Return--
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(3)callback()->None
- -> return None
- (Pdb) step
- --Return--
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[0]>(5)skip_module()->None
- -> mod.foo_pony(callback)
- (Pdb) step
- > <doctest test.test_pdb.test_pdb_skip_modules_with_callback[1]>(10)<module>()
- -> pass # provides something to "step" to
- (Pdb) continue
- """
-
-
-def test_pdb_continue_in_bottomframe():
- """Test that "continue" and "next" work properly in bottom frame (issue #5294).
-
- >>> def test_function():
- ... import pdb, sys; inst = pdb.Pdb()
- ... inst.set_trace()
- ... inst.botframe = sys._getframe() # hackery to get the right botframe
- ... print(1)
- ... print(2)
- ... print(3)
- ... print(4)
-
- >>> with PdbTestInput([
- ... 'next',
- ... 'break 7',
- ... 'continue',
- ... 'next',
- ... 'continue',
- ... 'continue',
- ... ]):
- ... test_function()
- > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(4)test_function()
- -> inst.botframe = sys._getframe() # hackery to get the right botframe
- (Pdb) next
- > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(5)test_function()
- -> print(1)
- (Pdb) break 7
- Breakpoint 1 at <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>:7
- (Pdb) continue
- 1
- 2
- > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(7)test_function()
- -> print(3)
- (Pdb) next
- 3
- > <doctest test.test_pdb.test_pdb_continue_in_bottomframe[0]>(8)test_function()
- -> print(4)
- (Pdb) continue
- 4
- """
-
-
-def test_main():
- from test import test_pdb
- test_support.run_doctest(test_pdb, verbosity=True)
-
-
-if __name__ == '__main__':
- test_main()