diff options
Diffstat (limited to 'tests/test_plugins.py')
-rw-r--r-- | tests/test_plugins.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_plugins.py b/tests/test_plugins.py index 718bf2ca..5485005b 100644 --- a/tests/test_plugins.py +++ b/tests/test_plugins.py @@ -4,6 +4,7 @@ import os.path import coverage from coverage import env +from coverage.backward import StringIO from coverage.control import Plugins import coverage.plugin @@ -136,6 +137,48 @@ class PluginTest(CoverageTest): cov.start() cov.stop() + def test_plugin_sysinfo(self): + self.make_file("plugin_sysinfo.py", """\ + import coverage + + class Plugin(coverage.CoveragePlugin): + def sysinfo(self): + return [("hello", "world")] + """) + debug_out = StringIO() + cov = coverage.Coverage(debug=["sys"]) + cov._debug_file = debug_out + cov.config["run:plugins"] = ["plugin_sysinfo"] + cov.load() + + out_lines = debug_out.getvalue().splitlines() + expected_end = [ + "-- sys: plugin_sysinfo ---------------------------------------", + " hello: world", + "-- end -------------------------------------------------------", + ] + self.assertEqual(expected_end, out_lines[-len(expected_end):]) + + def test_plugin_with_no_sysinfo(self): + self.make_file("plugin_no_sysinfo.py", """\ + import coverage + + class Plugin(coverage.CoveragePlugin): + pass + """) + debug_out = StringIO() + cov = coverage.Coverage(debug=["sys"]) + cov._debug_file = debug_out + cov.config["run:plugins"] = ["plugin_no_sysinfo"] + cov.load() + + out_lines = debug_out.getvalue().splitlines() + expected_end = [ + "-- sys: plugin_no_sysinfo ------------------------------------", + "-- end -------------------------------------------------------", + ] + self.assertEqual(expected_end, out_lines[-len(expected_end):]) + if not env.C_TRACER: class FileTracerTest(CoverageTest): |