diff options
Diffstat (limited to 'yardstick/benchmark/scenarios/base.py')
-rw-r--r-- | yardstick/benchmark/scenarios/base.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/yardstick/benchmark/scenarios/base.py b/yardstick/benchmark/scenarios/base.py new file mode 100644 index 000000000..540acca47 --- /dev/null +++ b/yardstick/benchmark/scenarios/base.py @@ -0,0 +1,29 @@ +############################################################################## +# Copyright (c) 2015 Ericsson AB and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +""" Scenario base class +""" + +import yardstick.common.utils as utils + + +class Scenario(object): + + def run(self, args): + pass + + @staticmethod + def get(scenario_type): + """Returns instance of a scenario runner for execution type. + """ + for scenario in utils.itersubclasses(Scenario): + if scenario_type == scenario.__scenario_type__: + return scenario.__module__ + "." + scenario.__name__ + + raise RuntimeError("No such scenario type %s" % scenario_type) |