aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBryn M. Reeves <bmr@redhat.com>2018-12-12 15:41:42 +0000
committerBryn M. Reeves <bmr@redhat.com>2018-12-12 15:49:28 +0000
commit9db825247452d54152f1c866b6b90f897be32f15 (patch)
treeba3e0e9e41f1d1697d0fe96a8e816d76fed84dc4
parent4c377f04f571c2d265a564bb27961bac5fd4a854 (diff)
downloadsos-9db825247452d54152f1c866b6b90f897be32f15.tar.gz
[Plugin] clean up Plugin.get_option()
There's a lot of ancient junk in this method (and associated code strewn around sos.sosreport and tests). Remove the ability to pass a list of options to the method since nothing uses this, and also delete the incomplete implementation of global plugin options via the commons dictionary (this work was already completed some time ago by mapping these options directly to the command line args). Resolves: #1498 Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
-rw-r--r--sos/plugins/__init__.py13
-rw-r--r--sos/sosreport.py5
-rw-r--r--tests/option_tests.py16
3 files changed, 5 insertions, 29 deletions
diff --git a/sos/plugins/__init__.py b/sos/plugins/__init__.py
index 3abe29db..c87ae19b 100644
--- a/sos/plugins/__init__.py
+++ b/sos/plugins/__init__.py
@@ -531,23 +531,12 @@ class Plugin(object):
if optionname in global_options:
return getattr(self.commons['cmdlineopts'], optionname)
- def _check(key):
- if hasattr(optionname, "__iter__"):
- return key in optionname
- else:
- return key == optionname
-
for name, parms in zip(self.opt_names, self.opt_parms):
- if _check(name):
+ if name == optionname:
val = parms['enabled']
if val is not None:
return val
- items = six.iteritems(self.commons.get('global_plugin_options', {}))
- for key, value in items:
- if _check(key):
- return value
-
return default
def get_option_as_list(self, optionname, delimiter=",", default=None):
diff --git a/sos/sosreport.py b/sos/sosreport.py
index 77ae7161..97bee10c 100644
--- a/sos/sosreport.py
+++ b/sos/sosreport.py
@@ -336,7 +336,6 @@ class SoSReport(object):
self.skipped_plugins = []
self.all_options = []
self.xml_report = XmlReport()
- self.global_plugin_options = {}
self.archive = None
self.tempfile_util = None
self._args = args
@@ -432,7 +431,6 @@ class SoSReport(object):
'xmlreport': self.xml_report,
'cmdlineopts': self.opts,
'config': self.config,
- 'global_plugin_options': self.global_plugin_options,
}
def get_temp_file(self):
@@ -1426,9 +1424,6 @@ class SoSReport(object):
return False
return True
- def set_global_plugin_option(self, key, value):
- self.global_plugin_options[key] = value
-
def _cleanup(self):
# archive and tempfile cleanup may fail due to a fatal
# OSError exception (ENOSPC, EROFS etc.).
diff --git a/tests/option_tests.py b/tests/option_tests.py
index a4267e2e..a99be4b0 100644
--- a/tests/option_tests.py
+++ b/tests/option_tests.py
@@ -12,27 +12,19 @@ class GlobalOptionTest(unittest.TestCase):
self.commons = {
'sysroot': '/',
'policy': LinuxPolicy(),
- 'global_plugin_options': {
- 'test_option': 'foobar',
- 'baz': None,
- 'empty_global': True
- },
}
self.plugin = Plugin(self.commons)
- self.plugin.opt_names = ['baz', 'empty']
- self.plugin.opt_parms = [{'enabled': False}, {'enabled': None}]
+ self.plugin.opt_names = ['baz', 'empty', 'test_option']
+ self.plugin.opt_parms = [
+ {'enabled': False}, {'enabled': None}, {'enabled': 'foobar'}
+ ]
def test_simple_lookup(self):
self.assertEquals(self.plugin.get_option('test_option'), 'foobar')
- def test_multi_lookup(self):
- self.assertEquals(self.plugin.get_option(('not_there', 'test_option')), 'foobar')
-
def test_cascade(self):
self.assertEquals(self.plugin.get_option(('baz')), False)
- def test_none_should_cascade(self):
- self.assertEquals(self.plugin.get_option(('empty', 'empty_global')), True)
if __name__ == "__main__":
unittest.main()