summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-11-15 18:19:10 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-11-15 18:19:10 +0900
commit7be35048a26dde2e717b88d8e531f31f345eb791 (patch)
tree429a150d325fd4c7096fb253fc5f3be80930faa8
parent14e8161cf9af49ad49a2d3623913175cbe660dc1 (diff)
downloadbuildstream-7be35048a26dde2e717b88d8e531f31f345eb791.tar.gz
Principle of least underscores
PluginContext, ElementFactory and SourceFactory reside in entirely private modules, as such they do not need a leading underscore to indicate that they are private. This makes the code nicer to read without causing private things to be considered public.
-rw-r--r--buildstream/_elementfactory.py4
-rw-r--r--buildstream/_plugincontext.py2
-rw-r--r--buildstream/_sourcefactory.py4
-rw-r--r--tests/plugins/basics.py64
4 files changed, 37 insertions, 37 deletions
diff --git a/buildstream/_elementfactory.py b/buildstream/_elementfactory.py
index 55725a29f..cd320f6c7 100644
--- a/buildstream/_elementfactory.py
+++ b/buildstream/_elementfactory.py
@@ -19,7 +19,7 @@
# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
from . import _site
-from ._plugincontext import _PluginContext
+from ._plugincontext import PluginContext
from .element import Element
# A ElementFactory creates Element instances
@@ -29,7 +29,7 @@ from .element import Element
# plugin_base (PluginBase): The main PluginBase object to work with
# searchpath (list): A list of external paths to search for Element plugins
#
-class _ElementFactory(_PluginContext):
+class ElementFactory(PluginContext):
def __init__(self, plugin_base, searchpath=None):
diff --git a/buildstream/_plugincontext.py b/buildstream/_plugincontext.py
index 2132a9e08..cc6e75db8 100644
--- a/buildstream/_plugincontext.py
+++ b/buildstream/_plugincontext.py
@@ -35,7 +35,7 @@ from .exceptions import PluginError
# a given BuildStream project are isolated to their respective
# Pipelines.
#
-class _PluginContext():
+class PluginContext():
def __init__(self, plugin_base, base_type, searchpath=None):
diff --git a/buildstream/_sourcefactory.py b/buildstream/_sourcefactory.py
index cef3701ab..9a450fe43 100644
--- a/buildstream/_sourcefactory.py
+++ b/buildstream/_sourcefactory.py
@@ -19,7 +19,7 @@
# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
from . import _site
-from ._plugincontext import _PluginContext
+from ._plugincontext import PluginContext
from .source import Source
# A SourceFactory creates Source instances
@@ -29,7 +29,7 @@ from .source import Source
# plugin_base (PluginBase): The main PluginBase object to work with
# searchpath (list): A list of external paths to search for Source plugins
#
-class _SourceFactory(_PluginContext):
+class SourceFactory(PluginContext):
def __init__(self, plugin_base, searchpath=None):
diff --git a/tests/plugins/basics.py b/tests/plugins/basics.py
index 0654b08af..539500169 100644
--- a/tests/plugins/basics.py
+++ b/tests/plugins/basics.py
@@ -2,8 +2,8 @@ import os
import pytest
from pluginbase import PluginBase
-from buildstream._elementfactory import _ElementFactory
-from buildstream._sourcefactory import _SourceFactory
+from buildstream._elementfactory import ElementFactory
+from buildstream._sourcefactory import SourceFactory
from buildstream import PluginError
DATA_DIR = os.path.join(
@@ -26,30 +26,30 @@ def test_fixture(plugin_fixture):
assert(isinstance(plugin_fixture['base'], PluginBase))
def test_source_factory(plugin_fixture):
- factory = _SourceFactory(plugin_fixture['base'])
- assert(isinstance(factory, _SourceFactory))
+ factory = SourceFactory(plugin_fixture['base'])
+ assert(isinstance(factory, SourceFactory))
def test_element_factory(plugin_fixture):
- factory = _ElementFactory(plugin_fixture['base'])
- assert(isinstance(factory, _ElementFactory))
+ factory = ElementFactory(plugin_fixture['base'])
+ assert(isinstance(factory, ElementFactory))
##############################################################
# Check that we can load custom sources & elements #
##############################################################
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'customsource'))
def test_custom_source(plugin_fixture, datafiles):
- factory = _SourceFactory(plugin_fixture['base'],
+ factory = SourceFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
- assert(isinstance(factory, _SourceFactory))
+ assert(isinstance(factory, SourceFactory))
foo_type = factory.lookup('foo')
assert(foo_type.__name__ == 'FooSource')
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'customelement'))
def test_custom_element(plugin_fixture, datafiles):
- factory = _ElementFactory(plugin_fixture['base'],
+ factory = ElementFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
- assert(isinstance(factory, _ElementFactory))
+ assert(isinstance(factory, ElementFactory))
foo_type = factory.lookup('foo')
assert(foo_type.__name__ == 'FooElement')
@@ -58,16 +58,16 @@ def test_custom_element(plugin_fixture, datafiles):
# Check plugin loading failure modes #
##############################################################
def test_missing_source(plugin_fixture):
- factory = _SourceFactory(plugin_fixture['base'])
- assert(isinstance(factory, _SourceFactory))
+ factory = SourceFactory(plugin_fixture['base'])
+ assert(isinstance(factory, SourceFactory))
# Test fails if PluginError is not raised
with pytest.raises(PluginError) as exc:
foo_type = factory.lookup('foo')
def test_missing_element(plugin_fixture):
- factory = _ElementFactory(plugin_fixture['base'])
- assert(isinstance(factory, _ElementFactory))
+ factory = ElementFactory(plugin_fixture['base'])
+ assert(isinstance(factory, ElementFactory))
# Test fails if PluginError is not raised
with pytest.raises(PluginError) as exc:
@@ -80,7 +80,7 @@ def test_conflict_source(plugin_fixture, datafiles):
plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anothersource')
with pytest.raises(PluginError) as exc:
- factory = _SourceFactory(plugin_fixture['base'], [ plugins1, plugins2 ])
+ factory = SourceFactory(plugin_fixture['base'], [ plugins1, plugins2 ])
# Load one factory with 2 plugin directories both containing a foo plugin
@pytest.mark.datafiles(DATA_DIR)
@@ -89,62 +89,62 @@ def test_conflict_element(plugin_fixture, datafiles):
plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anotherelement')
with pytest.raises(PluginError) as exc:
- factory = _ElementFactory(plugin_fixture['base'], [ plugins1, plugins2 ])
+ factory = ElementFactory(plugin_fixture['base'], [ plugins1, plugins2 ])
# Load a factory with a plugin that returns a value instead of a Source subclass
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'notatype'))
def test_source_notatype(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _SourceFactory(plugin_fixture['base'],
+ factory = SourceFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin that returns a value instead of a Element subclass
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'notatype'))
def test_element_notatype(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _ElementFactory(plugin_fixture['base'],
+ factory = ElementFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin that returns a type which is not a Source subclass
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'wrongtype'))
def test_source_wrongtype(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _SourceFactory(plugin_fixture['base'],
+ factory = SourceFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin that returns a type which is not a Element subclass
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'wrongtype'))
def test_element_wrongtype(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _ElementFactory(plugin_fixture['base'],
+ factory = ElementFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin which fails to provide a setup() function
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'nosetup'))
def test_source_missing_setup(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _SourceFactory(plugin_fixture['base'],
+ factory = SourceFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin which fails to provide a setup() function
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'nosetup'))
def test_element_missing_setup(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _ElementFactory(plugin_fixture['base'],
+ factory = ElementFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin which provides a setup symbol that is not a function
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'badsetup'))
def test_source_bad_setup(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _SourceFactory(plugin_fixture['base'],
+ factory = SourceFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
# Load a factory with a plugin which provides a setup symbol that is not a function
@pytest.mark.datafiles(os.path.join(DATA_DIR, 'badsetup'))
def test_element_bad_setup(plugin_fixture, datafiles):
with pytest.raises(PluginError) as exc:
- factory = _ElementFactory(plugin_fixture['base'],
+ factory = ElementFactory(plugin_fixture['base'],
[ os.path.join(datafiles.dirname, datafiles.basename) ])
##############################################################
@@ -157,10 +157,10 @@ def test_source_multicontext(plugin_fixture, datafiles):
plugins1 = os.path.join(datafiles.dirname, datafiles.basename, 'customsource')
plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anothersource')
- factory1 = _SourceFactory(plugin_fixture['base'], [ plugins1 ])
- factory2 = _SourceFactory(plugin_fixture['base'], [ plugins2 ])
- assert(isinstance(factory1, _SourceFactory))
- assert(isinstance(factory2, _SourceFactory))
+ factory1 = SourceFactory(plugin_fixture['base'], [ plugins1 ])
+ factory2 = SourceFactory(plugin_fixture['base'], [ plugins2 ])
+ assert(isinstance(factory1, SourceFactory))
+ assert(isinstance(factory2, SourceFactory))
foo_type1 = factory1.lookup('foo')
foo_type2 = factory2.lookup('foo')
@@ -173,10 +173,10 @@ def test_element_multicontext(plugin_fixture, datafiles):
plugins1 = os.path.join(datafiles.dirname, datafiles.basename, 'customelement')
plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anotherelement')
- factory1 = _ElementFactory(plugin_fixture['base'], [ plugins1 ])
- factory2 = _ElementFactory(plugin_fixture['base'], [ plugins2 ])
- assert(isinstance(factory1, _ElementFactory))
- assert(isinstance(factory2, _ElementFactory))
+ factory1 = ElementFactory(plugin_fixture['base'], [ plugins1 ])
+ factory2 = ElementFactory(plugin_fixture['base'], [ plugins2 ])
+ assert(isinstance(factory1, ElementFactory))
+ assert(isinstance(factory2, ElementFactory))
foo_type1 = factory1.lookup('foo')
foo_type2 = factory2.lookup('foo')