/unit_tests/test_selector_plugins.py

https://bitbucket.org/jpellerin/nose/ · Python · 30 lines · 23 code · 7 blank · 0 comment · 2 complexity · 6e763f4d125acc20e3269ffc14fa7b78 MD5 · raw file

  1. import unittest
  2. import nose.selector
  3. from nose.config import Config
  4. from nose.plugins.base import Plugin
  5. from nose.plugins.manager import PluginManager
  6. class TestSelectorPlugins(unittest.TestCase):
  7. def test_rejection(self):
  8. class EvilSelector(Plugin):
  9. def wantFile(self, filename, package=None):
  10. if 'good' in filename:
  11. return False
  12. return None
  13. c = Config(plugins=PluginManager(plugins=[EvilSelector()]))
  14. s = nose.selector.Selector(c)
  15. s2 = nose.selector.Selector(Config())
  16. assert s.wantFile('test_neutral.py')
  17. assert s2.wantFile('test_neutral.py')
  18. assert s.wantFile('test_evil.py')
  19. assert s2.wantFile('test_evil.py')
  20. assert not s.wantFile('test_good.py')
  21. assert s2.wantFile('test_good.py')
  22. if __name__ == '__main__':
  23. unittest.main()