Skip to content

Instantly share code, notes, and snippets.

@clayg
Created August 22, 2013 19:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save clayg/6311348 to your computer and use it in GitHub Desktop.
Save clayg/6311348 to your computer and use it in GitHub Desktop.
stevedore test case for multiple driver entry_point failure
import unittest
import pkg_resources
import stevedore
class MockPkgResources(object):
def iter_entry_points(self, namespace):
ep1 = pkg_resources.EntryPoint.parse('backend = pkg1:driver')
ep1.load = lambda : 'pkg1 backend'
ep2 = pkg_resources.EntryPoint.parse('backend = pkg2:driver')
ep2.load = lambda : 'pkg2 backend'
return [ep1, ep2]
class TestMultiDriver(unittest.TestCase):
def setUp(self):
self._orig_pkg_resources = stevedore.extension.pkg_resources
stevedore.extension.pkg_resources = MockPkgResources()
def tearDown(self):
pkg_resources == self._orig_pkg_resources
def test_multiple_drivers(self):
args = ('namespace', 'backend')
try:
stevedore.DriverManager(*args)
except RuntimeError, e:
self.assert_("Multiple %r drivers found" % args[0] in str(e), e)
if __name__ == "__main__":
unittest.main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment