/functional_tests/test_skip_pdb_interaction.py
https://bitbucket.org/jpellerin/nose/ · Python · 49 lines · 35 code · 11 blank · 3 comment · 1 complexity · f275d8d16fd79ac03ddaa63eb9f59923 MD5 · raw file
- import unittest
- from nose import case
- from nose.config import Config
- from nose.plugins import debug
- from nose.plugins.manager import PluginManager
- from nose.plugins.skip import Skip, SkipTest
- from nose.proxy import ResultProxyFactory
- class StubPdb:
- called = False
- def post_mortem(self, tb):
- self.called = True
- class TestSkipPdbInteraction(unittest.TestCase):
- """Tests interaction between skip plugin and pdb plugin -- pdb should
- not fire on a skip error
- """
- def setUp(self):
- self._pdb = debug.pdb
- debug.pdb = StubPdb()
- def tearDown(self):
- debug.pdb = self._pdb
-
- def test_skip_prevents_pdb_call(self):
- class TC(unittest.TestCase):
- def test(self):
- raise SkipTest('not me')
- skip = Skip()
- skip.enabled = True
- p = debug.Pdb()
- p.enabled = True
- p.enabled_for_errors = True
- res = unittest.TestResult()
- conf = Config(plugins=PluginManager(plugins=[skip, p]))
- rpf = ResultProxyFactory(conf)
- test = case.Test(TC('test'), resultProxy=rpf)
- test(res)
- assert not res.errors, "Skip was recorded as error %s" % res.errors
- assert not debug.pdb.called, "pdb was called"
-
- if __name__ == '__main__':
- unittest.main()