Prohibit the importation of a list of libraries
[yardstick.git] / yardstick / 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 mock
10 import unittest
11
12 from yardstick.benchmark.scenarios.lib.check_numa_info import CheckNumaInfo
13
14
15 class CheckNumaInfoTestCase(unittest.TestCase):
16
17     @mock.patch.object(CheckNumaInfo, '_check_vm2_status')
18     def test_run(self, mock_check_vm2):
19         scenario_cfg = {'info1': {}, 'info2': {}}
20         obj = CheckNumaInfo(scenario_cfg, {})
21         obj.run({})
22         self.assertTrue(mock_check_vm2.called)
23
24     def test_check_vm2_status_length_eq_1(self):
25         info1 = {
26             'pinning': [0],
27             'vcpupin': [{
28                 'cpuset': '1,2'
29             }]
30         }
31         info2 = {
32             'pinning': [0],
33             'vcpupin': [{
34                 'cpuset': '1,2'
35             }]
36         }
37         scenario_cfg = {'info1': info1, 'info2': info2}
38         obj = CheckNumaInfo(scenario_cfg, {})
39         status = obj._check_vm2_status(info1, info2)
40         self.assertTrue(status)
41
42     def test_check_vm2_status_length_gt_1(self):
43         info1 = {
44             'pinning': [0, 1],
45             'vcpupin': [{
46                 'cpuset': '1,2'
47             }]
48         }
49         info2 = {
50             'pinning': [0, 1],
51             'vcpupin': [{
52                 'cpuset': '1,2'
53             }]
54         }
55         scenario_cfg = {'info1': info1, 'info2': info2}
56         obj = CheckNumaInfo(scenario_cfg, {})
57         status = obj._check_vm2_status(info1, info2)
58         self.assertFalse(status)
59
60     def test_check_vm2_status_length_not_in_set(self):
61         info1 = {
62             'pinning': [0],
63             'vcpupin': [{
64                 'cpuset': '1,7'
65             }]
66         }
67         info2 = {
68             'pinning': [0],
69             'vcpupin': [{
70                 'cpuset': '1,7'
71             }]
72         }
73         scenario_cfg = {'info1': info1, 'info2': info2}
74         obj = CheckNumaInfo(scenario_cfg, {})
75         status = obj._check_vm2_status(info1, info2)
76         self.assertFalse(status)
77
78
79 def main():
80     unittest.main()
81
82
83 if __name__ == '__main__':
84     main()