diff options
Diffstat (limited to 'yardstick')
-rw-r--r-- | yardstick/benchmark/core/scenario.py | 7 | ||||
-rw-r--r-- | yardstick/benchmark/scenarios/base.py | 14 |
2 files changed, 17 insertions, 4 deletions
diff --git a/yardstick/benchmark/core/scenario.py b/yardstick/benchmark/core/scenario.py index cd119c24c..28eb65230 100644 --- a/yardstick/benchmark/core/scenario.py +++ b/yardstick/benchmark/core/scenario.py @@ -10,7 +10,6 @@ """ Handler for yardstick command 'scenario' """ from __future__ import absolute_import -from __future__ import print_function from yardstick.benchmark.scenarios.base import Scenario from yardstick.benchmark.core import print_hbar @@ -27,9 +26,9 @@ class Scenarios(object): # pragma: no cover print_hbar(78) print("| %-16s | %-60s" % ("Type", "Description")) print_hbar(78) - for stype in types: - print("| %-16s | %-60s" % (stype.__scenario_type__, - stype.__doc__.split("\n")[0])) + for scenario_class in types: + print("| %-16s | %-60s" % (scenario_class.get_scenario_type(), + scenario_class.get_description())) print_hbar(78) def show(self, args): diff --git a/yardstick/benchmark/scenarios/base.py b/yardstick/benchmark/scenarios/base.py index 3cb138dd8..7af85834c 100644 --- a/yardstick/benchmark/scenarios/base.py +++ b/yardstick/benchmark/scenarios/base.py @@ -64,6 +64,20 @@ class Scenario(object): raise RuntimeError("No such scenario type %s" % scenario_type) + @classmethod + def get_scenario_type(cls): + """Return a string with the scenario type, if defined""" + return str(getattr(cls, '__scenario_type__', None)) + + @classmethod + def get_description(cls): + """Return a single line string with the class description + + This function will retrieve the class docstring and return the first + line, or 'None' if it's empty. + """ + return cls.__doc__.splitlines()[0] if cls.__doc__ else str(None) + def _push_to_outputs(self, keys, values): return dict(zip(keys, values)) |