add package scenarios with module base 95/595/1
authorHans Feldt <hans.feldt@ericsson.com>
Tue, 19 May 2015 08:42:51 +0000 (10:42 +0200)
committerHans Feldt <hans.feldt@ericsson.com>
Tue, 19 May 2015 08:42:51 +0000 (10:42 +0200)
The Scenario class is a base class for all "real" scenarios.

Change-Id: I4891321bdf489bce3e5c7e25c0c75e6882e344e4
JIRA: -
Signed-off-by: Hans Feldt <hans.feldt@ericsson.com>
yardstick/benchmark/__init__.py [new file with mode: 0644]
yardstick/benchmark/scenarios/__init__.py [new file with mode: 0644]
yardstick/benchmark/scenarios/base.py [new file with mode: 0644]

diff --git a/yardstick/benchmark/__init__.py b/yardstick/benchmark/__init__.py
new file mode 100644 (file)
index 0000000..94357a5
--- /dev/null
@@ -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 (file)
index 0000000..e69de29
diff --git a/yardstick/benchmark/scenarios/base.py b/yardstick/benchmark/scenarios/base.py
new file mode 100644 (file)
index 0000000..540acca
--- /dev/null
@@ -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)