summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans Feldt <hans.feldt@ericsson.com>2015-05-19 10:42:51 +0200
committerHans Feldt <hans.feldt@ericsson.com>2015-05-19 10:42:51 +0200
commite2a4270e0d29eac71f7723ed901617d4daa799c0 (patch)
treee3615695b6a2b824714e96dca6ab9a21620bb413
parentbc5339353682d737e5d5d948642028fab3bd186a (diff)
add package scenarios with module base
The Scenario class is a base class for all "real" scenarios. Change-Id: I4891321bdf489bce3e5c7e25c0c75e6882e344e4 JIRA: - Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
-rw-r--r--yardstick/benchmark/__init__.py13
-rw-r--r--yardstick/benchmark/scenarios/__init__.py0
-rw-r--r--yardstick/benchmark/scenarios/base.py29
3 files changed, 42 insertions, 0 deletions
diff --git a/yardstick/benchmark/__init__.py b/yardstick/benchmark/__init__.py
new file mode 100644
index 000000000..94357a53a
--- /dev/null
+++ b/yardstick/benchmark/__init__.py
@@ -0,0 +1,13 @@
+##############################################################################
+# 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
+##############################################################################
+
+import yardstick.common.utils as utils
+
+utils.import_modules_from_package("yardstick.benchmark.runners")
+utils.import_modules_from_package("yardstick.benchmark.scenarios")
diff --git a/yardstick/benchmark/scenarios/__init__.py b/yardstick/benchmark/scenarios/__init__.py
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/yardstick/benchmark/scenarios/__init__.py
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)