diff --git a/.gitignore b/.gitignore index baf7b918e2..801760201e 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,18 @@ __pycache__/ # Editor backup files # ####################### *~ + +# Unit test / coverage reports +############################## +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +/coverage +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ diff --git a/pype/.coveragerc b/pype/.coveragerc new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pype/tests/test_pyblish_filter.py b/pype/tests/test_pyblish_filter.py index 27fed50c40..8d747e63df 100644 --- a/pype/tests/test_pyblish_filter.py +++ b/pype/tests/test_pyblish_filter.py @@ -6,7 +6,7 @@ from pype.lib import filter_pyblish_plugins import os -def test_pyblish_plugin_filter(printer, monkeypatch): +def test_pyblish_plugin_filter_modifier(printer, monkeypatch): """ Test if pyblish filter can filter and modify plugins on-the-fly. """ @@ -39,3 +39,22 @@ def test_pyblish_plugin_filter(printer, monkeypatch): assert plugins[0].optional is True lib.teardown() + + +def test_pyblish_plugin_filter_removal(monkeypatch): + """ Test that plugin can be removed by filter """ + lib.setup_empty() + monkeypatch.setitem(os.environ, 'PYBLISHPLUGINPATH', '') + plugins = pyblish.api.registered_plugins() + + class MyTestRemovedPlugin(pyblish.api.InstancePlugin): + my_test_property = 1 + label = "Collect Renderable Camera(s)" + hosts = ["test"] + families = ["default"] + + pyblish.api.register_host("test") + pyblish.api.register_plugin(MyTestRemovedPlugin) + pyblish.api.register_discovery_filter(filter_pyblish_plugins) + plugins = pyblish.api.discover() + assert len(plugins) == 0