diff options
author | Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> | 2018-03-12 14:14:57 +0000 |
---|---|---|
committer | Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com> | 2018-03-21 09:15:44 +0000 |
commit | bf892d9cf62b6bc64ea76d8b69a8fe3751cabd75 (patch) | |
tree | bbdfc7be2b8888cc6c0c5f6a5381720253e74548 /yardstick/tests/unit/benchmark/scenarios/test_base.py | |
parent | c17d65bc5f620328079a6905ebcdd73138685d5f (diff) |
Add "Scenario" class wait methods for runners
"Duration" and "Iteration" runners execute a passive wait during the
execution of the work process. This wait time is done at the end of
the scenario "run" method execution.
This patch adds a pre-run and post-run wait period, which will
depends on the Scenario executed. The wait time will be always the
same, but the execution order (pre-wait time, run method, post-wait
time) will depends on the Scenario.
By default, any Scenario will execute the "run" method and them will
wait the specified time.
NetworkServicesTestCase Scenario will wait the specified time and them
will execute the "run" method to retrieve the KPIs.
JIRA: YARDSTICK-1067
Change-Id: I6ad6bfc6978815b6b2d4df63f2ac2f8815fb5b8a
Signed-off-by: Rodolfo Alonso Hernandez <rodolfo.alonso.hernandez@intel.com>
Diffstat (limited to 'yardstick/tests/unit/benchmark/scenarios/test_base.py')
-rw-r--r-- | yardstick/tests/unit/benchmark/scenarios/test_base.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/yardstick/tests/unit/benchmark/scenarios/test_base.py b/yardstick/tests/unit/benchmark/scenarios/test_base.py index 6e2cff425..284a71cc8 100644 --- a/yardstick/tests/unit/benchmark/scenarios/test_base.py +++ b/yardstick/tests/unit/benchmark/scenarios/test_base.py @@ -13,10 +13,21 @@ # License for the specific language governing permissions and limitations # under the License. +import time + +import mock + from yardstick.benchmark.scenarios import base from yardstick.tests.unit import base as ut_base +class _TestScenario(base.Scenario): + __scenario_type__ = 'Test Scenario' + + def run(self): + pass + + class ScenarioTestCase(ut_base.BaseUnitTestCase): def test_get_scenario_type(self): @@ -90,6 +101,20 @@ class ScenarioTestCase(ut_base.BaseUnitTestCase): with self.assertRaises(TypeError): base.Scenario() + @mock.patch.object(time, 'sleep') + def test_pre_run_wait_time(self, mock_sleep): + """Ensure default behaviour (backwards compatibility): no wait time""" + test_scenario = _TestScenario() + test_scenario.pre_run_wait_time(mock.ANY) + mock_sleep.assert_not_called() + + @mock.patch.object(time, 'sleep') + def test_post_run_wait_time(self, mock_sleep): + """Ensure default behaviour (backwards compatibility): wait time""" + test_scenario = _TestScenario() + test_scenario.post_run_wait_time(100) + mock_sleep.assert_called_once_with(100) + class IterScenarioClassesTestCase(ut_base.BaseUnitTestCase): |