From 90c92384f06f2c85e76155efc3efed41db6edfa7 Mon Sep 17 00:00:00 2001 From: JingLu5 Date: Fri, 30 Jun 2017 09:22:00 +0000 Subject: Raise Exception if HA test case failed Change-Id: Ia3677724075c1c1408f50bbfcebd3cbcde251d66 Signed-off-by: JingLu5 --- tests/unit/benchmark/scenarios/availability/test_scenario_general.py | 1 + yardstick/benchmark/scenarios/availability/scenario_general.py | 5 +++++ yardstick/benchmark/scenarios/availability/serviceha.py | 5 +++++ 3 files changed, 11 insertions(+) diff --git a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py index de2170b16..244a5e798 100644 --- a/tests/unit/benchmark/scenarios/availability/test_scenario_general.py +++ b/tests/unit/benchmark/scenarios/availability/test_scenario_general.py @@ -67,4 +67,5 @@ class ScenarioGeneralTestCase(unittest.TestCase): ins.director = mock_obj ins.director.data = {} ins.run({}) + ins.pass_flag = True ins.teardown() diff --git a/yardstick/benchmark/scenarios/availability/scenario_general.py b/yardstick/benchmark/scenarios/availability/scenario_general.py index 17ad79f29..c7ed1d6ec 100644 --- a/yardstick/benchmark/scenarios/availability/scenario_general.py +++ b/yardstick/benchmark/scenarios/availability/scenario_general.py @@ -26,6 +26,7 @@ class ScenarioGeneral(base.Scenario): self.scenario_cfg = scenario_cfg self.context_cfg = context_cfg self.intermediate_variables = {} + self.pass_flag = True def setup(self): self.director = Director(self.scenario_cfg, self.context_cfg) @@ -63,6 +64,7 @@ class ScenarioGeneral(base.Scenario): if v == 0: result['sla_pass'] = 0 verify_result = False + self.pass_flag = False LOG.info( "\033[92m The service process not found in the host \ envrioment, the HA test case NOT pass") @@ -74,9 +76,12 @@ envrioment, the HA test case NOT pass") "the HA test case PASS! \033[0m") else: result['sla_pass'] = 0 + self.pass_flag = False LOG.info( "\033[91m Aoh, the HA test case FAIL," "please check the detail debug information! \033[0m") def teardown(self): self.director.knockoff() + + assert self.pass_flag, "The HA test case NOT passed" diff --git a/yardstick/benchmark/scenarios/availability/serviceha.py b/yardstick/benchmark/scenarios/availability/serviceha.py index 2f0012ecf..d0f5e9e4d 100755 --- a/yardstick/benchmark/scenarios/availability/serviceha.py +++ b/yardstick/benchmark/scenarios/availability/serviceha.py @@ -29,6 +29,7 @@ class ServiceHA(base.Scenario): self.context_cfg = context_cfg self.setup_done = False self.data = {} + self.pass_flag = True def setup(self): """scenario setup""" @@ -73,6 +74,7 @@ class ServiceHA(base.Scenario): for k, v in self.data.items(): if v == 0: result['sla_pass'] = 0 + self.pass_flag = False LOG.info("The service process not found in the host envrioment, \ the HA test case NOT pass") return @@ -81,6 +83,7 @@ the HA test case NOT pass") LOG.info("The HA test case PASS the SLA") else: result['sla_pass'] = 0 + self.pass_flag = False assert sla_pass is True, "The HA test case NOT pass the SLA" return @@ -90,6 +93,8 @@ the HA test case NOT pass") for attacker in self.attackers: attacker.recover() + assert self.pass_flag, "The HA test case NOT passed" + def _test(): # pragma: no cover """internal test function""" -- cgit 1.2.3-korg