summaryrefslogtreecommitdiff
path: root/tests/test_plugins.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-02-08 13:20:31 -0500
committerNed Batchelder <ned@nedbatchelder.com>2015-02-08 13:20:31 -0500
commit44643bd88b90c3ae0afe9dd4b9c9094d868d60b1 (patch)
tree57aba47760de7aaffa028bb9452a17054ad72eef /tests/test_plugins.py
parentb48ad946aca8fc24561ca3e639533b24e799c020 (diff)
downloadpython-coveragepy-git-44643bd88b90c3ae0afe9dd4b9c9094d868d60b1.tar.gz
Plugin modules have to define a Plugin class, or an error happens.
Diffstat (limited to 'tests/test_plugins.py')
-rw-r--r--tests/test_plugins.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/tests/test_plugins.py b/tests/test_plugins.py
index f6609e26..0e3c9865 100644
--- a/tests/test_plugins.py
+++ b/tests/test_plugins.py
@@ -6,6 +6,7 @@ import coverage
from coverage import env
from coverage.backward import StringIO
from coverage.control import Plugins
+from coverage.misc import CoverageException
import coverage.plugin
@@ -104,15 +105,14 @@ class LoadPluginsTest(CoverageTest):
with self.assertRaises(ImportError):
_ = Plugins.load_plugins(["plugin_not_there"], None)
- def test_ok_to_not_define_plugin(self):
- # TODO: should this actually be an error or warning?
- self.make_file("plugin2.py", """\
+ def test_plugin_must_define_plugin_class(self):
+ self.make_file("no_plugin.py", """\
from coverage import CoveragePlugin
-
Nothing = 0
""")
- plugins = list(Plugins.load_plugins(["plugin2"], None))
- self.assertEqual(plugins, [])
+ msg_pat = "Plugin module 'no_plugin' didn't define a Plugin class"
+ with self.assertRaisesRegex(CoverageException, msg_pat):
+ plugins = list(Plugins.load_plugins(["no_plugin"], None))
class PluginTest(CoverageTest):
@@ -121,6 +121,9 @@ class PluginTest(CoverageTest):
def test_plugin_imported(self):
# Prove that a plugin will be imported.
self.make_file("my_plugin.py", """\
+ from coverage import CoveragePlugin
+ class Plugin(CoveragePlugin):
+ pass
with open("evidence.out", "w") as f:
f.write("we are here!")
""")