summaryrefslogtreecommitdiff
path: root/tests/plugins
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-12-10 15:32:14 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-12-10 15:32:14 +0900
commit6899d2c29e1a9c0dfe1dd2408eeac93a9670c975 (patch)
tree225f49951cfddb1ed63a7080b5080cdfd6db62fd /tests/plugins
parentccb58635d837b670c1841261bd78a0b72e201f3b (diff)
downloadbuildstream-6899d2c29e1a9c0dfe1dd2408eeac93a9670c975.tar.gz
pep8 fixes in plugin test case
Diffstat (limited to 'tests/plugins')
-rw-r--r--tests/plugins/basics.py116
1 files changed, 83 insertions, 33 deletions
diff --git a/tests/plugins/basics.py b/tests/plugins/basics.py
index 539500169..06b028403 100644
--- a/tests/plugins/basics.py
+++ b/tests/plugins/basics.py
@@ -11,49 +11,58 @@ DATA_DIR = os.path.join(
'basics',
)
+
# Simple fixture to create a PluginBase object that
# we use for loading plugins.
@pytest.fixture()
def plugin_fixture():
return {
- 'base' : PluginBase(package='buildstream.plugins')
+ 'base': PluginBase(package='buildstream.plugins')
}
+
##############################################################
# Basics: test the fixture, test we can create the factories #
##############################################################
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))
+
def test_element_factory(plugin_fixture):
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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
assert(isinstance(factory, ElementFactory))
foo_type = factory.lookup('foo')
assert(foo_type.__name__ == 'FooElement')
+
##############################################################
# Check plugin loading failure modes #
##############################################################
@@ -65,6 +74,7 @@ def test_missing_source(plugin_fixture):
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))
@@ -73,79 +83,110 @@ def test_missing_element(plugin_fixture):
with pytest.raises(PluginError) as exc:
foo_type = factory.lookup('foo')
+
# Load one factory with 2 plugin directories both containing a foo plugin
@pytest.mark.datafiles(DATA_DIR)
def test_conflict_source(plugin_fixture, datafiles):
- plugins1 = os.path.join(datafiles.dirname, datafiles.basename, 'customsource')
- plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anothersource')
+ plugins1 = os.path.join(datafiles.dirname,
+ datafiles.basename,
+ 'customsource')
+ 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)
def test_conflict_element(plugin_fixture, datafiles):
- plugins1 = os.path.join(datafiles.dirname, datafiles.basename, 'customelement')
- plugins2 = os.path.join(datafiles.dirname, datafiles.basename, 'anotherelement')
+ plugins1 = os.path.join(datafiles.dirname,
+ datafiles.basename,
+ 'customelement')
+ 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
+# Load a factory with a plugin that returns a value instead of 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
-# Load a factory with a plugin that returns a value instead of a Element subclass
+
+# Load a factory with a plugin that returns a value instead of 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
+
-# Load a factory with a plugin that returns a type which is not a Source subclass
+# 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
+
-# Load a factory with a plugin that returns a type which is not a Element subclass
+# 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
+
-# Load a factory with a plugin which provides a setup symbol that is not a function
+# 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
-# Load a factory with a plugin which provides a setup symbol that is not a function
+
+# 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'],
- [ os.path.join(datafiles.dirname, datafiles.basename) ])
+ [os.path.join(datafiles.dirname,
+ datafiles.basename)])
+
##############################################################
# Check we can load different contexts of plugin #
@@ -154,11 +195,15 @@ def test_element_bad_setup(plugin_fixture, datafiles):
# Load two factories, both of which define a different 'foo' plugin
@pytest.mark.datafiles(DATA_DIR)
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 ])
+ 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))
@@ -167,14 +212,19 @@ def test_source_multicontext(plugin_fixture, datafiles):
assert(foo_type1.__name__ == 'FooSource')
assert(foo_type2.__name__ == 'AnotherFooSource')
+
# Load two factories, both of which define a different 'foo' plugin
@pytest.mark.datafiles(DATA_DIR)
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 ])
+ 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))