diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2017-09-19 16:38:44 -0700 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-10-06 20:20:55 +0000 |
commit | 8c182f5ff58afcee62dc25a40f3859409d2d7fb2 (patch) | |
tree | 389f6365918f66414db3f7337eba1fa6e8bf10fc | |
parent | 83863550224b960cf1abe47bf3d28533bce98027 (diff) |
fix random test_task unittest fail due to os.environ mock
sometime Jenkins fails due to what I guess are concurrency problems
in os.environ mock
======================================================================
FAIL: tests.unit.benchmark.core.test_task.TaskTestCase.test_parse_suite_with_constraint_no_args
tags: worker-10
----------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/lib/python3.5/unittest/mock.py", line 1157, in patched
return func(*args, **keywargs)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/tests/unit/benchmark/core/test_task.py", line 208, in test_parse_suite_with_constraint_no_args
task_files, task_args, task_args_fnames = t.parse_suite()
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/yardstick/benchmark/core/task.py", line 455, in parse_suite
cur_pod = os.environ.get('NODE_NAME', None)
File "/usr/lib/python3.5/unittest/mock.py", line 917, in __call__
return _mock_self._mock_call(*args, **kwargs)
File "/usr/lib/python3.5/unittest/mock.py", line 976, in _mock_call
result = next(effect)
StopIteration
Ran 1262 tests in 2.375s
FAILED (id=0, failures=1)
error: testr failed (1)
+ testr failing
Replace the mock decorator with a context manager to try to
reduce the scope and duration of the mock.
Change-Id: I342fe6c403e66c53ac4c39fd88fa9047cdfae5d9
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
(cherry picked from commit 2fadf7aec9e2761c39d29d8af1ee7d69d154652d)
-rw-r--r-- | tests/unit/benchmark/core/test_task.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/tests/unit/benchmark/core/test_task.py b/tests/unit/benchmark/core/test_task.py index 737e7058b..bed0bb6d8 100644 --- a/tests/unit/benchmark/core/test_task.py +++ b/tests/unit/benchmark/core/test_task.py @@ -165,12 +165,12 @@ class TaskTestCase(unittest.TestCase): result = t._check_precondition(cfg) self.assertTrue(result) - @mock.patch('yardstick.benchmark.core.task.os.environ') - def test_parse_suite_no_constraint_no_args(self, mock_environ): + def test_parse_suite_no_constraint_no_args(self): SAMPLE_SCENARIO_PATH = "no_constraint_no_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -186,8 +186,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_no_constraint_with_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "no_constraint_with_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -204,8 +205,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_with_constraint_no_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "with_constraint_no_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( @@ -221,8 +223,9 @@ class TaskTestCase(unittest.TestCase): def test_parse_suite_with_constraint_with_args(self, mock_environ): SAMPLE_SCENARIO_PATH = "with_constraint_with_args_scenario_sample.yaml" t = task.TaskParser(self._get_file_abspath(SAMPLE_SCENARIO_PATH)) - mock_environ.get.side_effect = ['huawei-pod1', 'compass'] - task_files, task_args, task_args_fnames = t.parse_suite() + with mock.patch('yardstick.benchmark.core.task.os.environ', + new={'NODE_NAME': 'huawei-pod1', 'INSTALLER_TYPE': 'compass'}): + task_files, task_args, task_args_fnames = t.parse_suite() print("files=%s, args=%s, fnames=%s" % (task_files, task_args, task_args_fnames)) self.assertEqual(task_files[0], self.change_to_abspath( |