##// END OF EJS Templates
Backport PR #2554: Avoid stopping in ipdb until we reach the main script....
Backport PR #2554: Avoid stopping in ipdb until we reach the main script. For example: ``` In [1]: %run -d -b 52 setup.py Breakpoint 1 at /tmp/ipython/setup.py:52 NOTE: Enter 'c' at the ipdb> prompt to start your script. > /tmp/ipython/setup.py(7)<module>() 6 Under Windows, the command sdist is not supported, since IPython ----> 7 requires utilities which are not available under Windows.""" 8 ``` compared to the previous behavior: ``` In [1]: %run -d -b 52 setup.py Breakpoint 1 at /tmp/ipython/setup.py:52 NOTE: Enter 'c' at the ipdb> prompt to start your script. > <string>(1)<module>() ``` Closes #1679 ("List command desn't work in ipdb debugger the first time")

File last commit:

r2738:95a4f176
r9835:45a6e8d3
Show More
test_plugin.py
46 lines | 1.3 KiB | text/x-python | PythonLexer
"""Tests for plugin.py"""
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from unittest import TestCase
from IPython.core.plugin import Plugin, PluginManager
#-----------------------------------------------------------------------------
# Tests
#-----------------------------------------------------------------------------
class FooPlugin(Plugin):
pass
class BarPlugin(Plugin):
pass
class BadPlugin(object):
pass
class PluginTest(TestCase):
def setUp(self):
self.manager = PluginManager()
def test_register_get(self):
self.assertEquals(None, self.manager.get_plugin('foo'))
foo = FooPlugin()
self.manager.register_plugin('foo', foo)
self.assertEquals(foo, self.manager.get_plugin('foo'))
bar = BarPlugin()
self.assertRaises(KeyError, self.manager.register_plugin, 'foo', bar)
bad = BadPlugin()
self.assertRaises(TypeError, self.manager.register_plugin, 'bad')
def test_unregister(self):
foo = FooPlugin()
self.manager.register_plugin('foo', foo)
self.manager.unregister_plugin('foo')
self.assertEquals(None, self.manager.get_plugin('foo'))