rubbos installation guide
[bottlenecks.git] / vstf / vstf / agent / unittest / env / test_drivermanager.py
1 """
2 Created on 2015-10-9
3
4 @author: y00228926
5 """
6 import unittest
7
8 from vstf.common.utils import check_output
9 from vstf.agent.unittest.env import model
10 from vstf.agent.env.driver_plugins import manager
11
12
13 class Test(model.Test):
14     def setUp(self):
15         super(Test, self).setUp()
16         self.driver_mgr = manager.DriverPluginManager()
17
18     def tearDown(self):
19         super(Test, self).tearDown()
20
21     def _driver_exists(self, drivers=[]):
22         all_drivers = check_output("lsmod | awk '{print $1}'", shell=True).split()
23         for mod in drivers:
24             if mod not in all_drivers:
25                 return False
26         return True
27
28     def test_load(self):
29         self.driver_mgr.clean()
30         for _, drivers in self.driver_mgr.get_all_supported_drivers().items():
31             self.assertFalse(self._driver_exists(drivers))
32
33
34         self.driver_mgr.load(['ixgbe', 'vhost_net'])
35         self.assertTrue(self._driver_exists(['ixgbe', 'vhost_net']))
36
37         self.driver_mgr.clean()
38         self.assertFalse(self._driver_exists(['ixgbe', 'vhost_net']))
39
40     def test_load_unsuported_pair(self):
41         with self.assertRaises(Exception):
42             self.driver_mgr.load(['ixgbe', 'tap_vhost'])
43
44
45 if __name__ == "__main__":
46     import logging
47
48     logging.basicConfig(level=logging.INFO)
49     LOG = logging.getLogger(__name__)
50     unittest.main()