diff options
Diffstat (limited to 'selftest')
-rw-r--r-- | selftest/target/__init__.py | 17 | ||||
-rw-r--r-- | selftest/tests/test_target.py | 13 |
2 files changed, 30 insertions, 0 deletions
diff --git a/selftest/target/__init__.py b/selftest/target/__init__.py index b6a297ce02..4c95c74895 100644 --- a/selftest/target/__init__.py +++ b/selftest/target/__init__.py @@ -29,6 +29,14 @@ class EnvironmentDown(Exception): super(EnvironmentDown, self).__init__("environment went down: %s" % msg) +class UnsupportedEnvironment(Exception): + """Indicates a particular environment is not supported.""" + + def __init__(self, target, envname): + super(UnsupportedEnvironment, self).__init__( + "Target %s does not support environment %s" % (target, envname)) + + class Target(object): """A target for Samba tests.""" @@ -93,6 +101,15 @@ class NoneEnvironment(Environment): return {} +class NoneTarget(Target): + """Target that can only provide the 'none' environment.""" + + name = "none" + + def setup_env(self, envname, prefix): + raise UnsupportedEnvironment(self.name, envname) + + class EnvironmentManager(object): """Manager of environments.""" diff --git a/selftest/tests/test_target.py b/selftest/tests/test_target.py index 0a5d1c4310..139ed741d0 100644 --- a/selftest/tests/test_target.py +++ b/selftest/tests/test_target.py @@ -24,7 +24,9 @@ from selftest.target import ( EnvironmentDown, EnvironmentManager, NoneEnvironment, + NoneTarget, Target, + UnsupportedEnvironment, ) import unittest @@ -67,6 +69,17 @@ class NoneEnvironmentTests(unittest.TestCase): self.assertEquals("", self.env.get_log()) +class NoneTargetTests(unittest.TestCase): + + def setUp(self): + super(NoneTargetTests, self).setUp() + self.target = NoneTarget() + + def test_setup_env(self): + self.assertRaises(UnsupportedEnvironment, self.target.setup_env, + "something", "prefx") + + class EnvironmentManagerTests(unittest.TestCase): def setUp(self): |