Fixed document for Grafana Port usage
[yardstick.git] / tests / unit / benchmark / scenarios / lib / test_check_numa_info.py
1 ##############################################################################
2 # Copyright (c) 2017 Huawei Technologies Co.,Ltd and others.
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9 import unittest
10 import mock
11
12 from yardstick.benchmark.scenarios.lib.check_numa_info import CheckNumaInfo
13
14
15 class CheckNumaInfoTestCase(unittest.TestCase):
16
17     @mock.patch(
18         'yardstick.benchmark.scenarios.lib.check_numa_info.CheckNumaInfo._check_vm2_status')
19     def test_check_numa_info(self, mock_check_vm2):
20         scenario_cfg = {'info1': {}, 'info2': {}}
21         obj = CheckNumaInfo(scenario_cfg, {})
22         obj.run({})
23         self.assertTrue(mock_check_vm2.called)
24
25     def test_check_vm2_status_length_eq_1(self):
26         info1 = {
27             'pinning': [0],
28             'vcpupin': [{
29                 'cpuset': '1,2'
30             }]
31         }
32         info2 = {
33             'pinning': [0],
34             'vcpupin': [{
35                 'cpuset': '1,2'
36             }]
37         }
38         scenario_cfg = {'info1': info1, 'info2': info2}
39         obj = CheckNumaInfo(scenario_cfg, {})
40         status = obj._check_vm2_status(info1, info2)
41         self.assertTrue(status)
42
43     def test_check_vm2_status_length_gt_1(self):
44         info1 = {
45             'pinning': [0, 1],
46             'vcpupin': [{
47                 'cpuset': '1,2'
48             }]
49         }
50         info2 = {
51             'pinning': [0, 1],
52             'vcpupin': [{
53                 'cpuset': '1,2'
54             }]
55         }
56         scenario_cfg = {'info1': info1, 'info2': info2}
57         obj = CheckNumaInfo(scenario_cfg, {})
58         status = obj._check_vm2_status(info1, info2)
59         self.assertFalse(status)
60
61     def test_check_vm2_status_length_not_in_set(self):
62         info1 = {
63             'pinning': [0],
64             'vcpupin': [{
65                 'cpuset': '1,7'
66             }]
67         }
68         info2 = {
69             'pinning': [0],
70             'vcpupin': [{
71                 'cpuset': '1,7'
72             }]
73         }
74         scenario_cfg = {'info1': info1, 'info2': info2}
75         obj = CheckNumaInfo(scenario_cfg, {})
76         status = obj._check_vm2_status(info1, info2)
77         self.assertFalse(status)
78
79
80 def main():
81     unittest.main()
82
83
84 if __name__ == '__main__':
85     main()