summaryrefslogtreecommitdiff
path: root/framework/tester.py
diff options
context:
space:
mode:
authorMarvin Liu <yong.liu@intel.com>2015-07-09 17:07:39 +0800
committerMarvin Liu <yong.liu@intel.com>2015-07-10 10:47:47 +0800
commit249c05fd7ff2b7bd9d4a473b3deafeab0d968c92 (patch)
tree310ac18779f405bf6db4eac37a05ea19fbd88783 /framework/tester.py
parent0aca9e7582f8db0e18479bd6affc383c06de488f (diff)
fix bug that read_cache option not work
Cache file only can save string object, so skip save port net device object. In prerequisties function, we will instantiate net device and save it into ports_info structure. Cache file now saved in output folder. Signed-off-by: Marvin Liu <yong.liu@intel.com>
Diffstat (limited to 'framework/tester.py')
-rw-r--r--framework/tester.py23
1 files changed, 21 insertions, 2 deletions
diff --git a/framework/tester.py b/framework/tester.py
index ce136e4..35581c8 100644
--- a/framework/tester.py
+++ b/framework/tester.py
@@ -65,7 +65,8 @@ class Tester(Crb):
self.NAME, self.get_password())
self.session.init_log(self.logger)
self.alt_session = SSHConnection(self.get_ip_address(),
- self.NAME + '_alt', self.get_password())
+ self.NAME + '_alt',
+ self.get_password())
self.alt_session.init_log(self.logger)
self.bgProcIsRunning = False
@@ -199,6 +200,9 @@ class Tester(Crb):
"""
Restore Linux interfaces.
"""
+ if self.skip_setup:
+ return
+
self.send_expect("modprobe igb", "# ", 20)
self.send_expect("modprobe ixgbe", "# ", 20)
self.send_expect("modprobe e1000e", "# ", 20)
@@ -218,7 +222,6 @@ class Tester(Crb):
sleep(2)
def load_serializer_ports(self):
- self.ports_info = []
cached_ports_info = self.serializer.load(self.PORT_INFO_CACHE_KEY)
if cached_ports_info is None:
return
@@ -243,6 +246,7 @@ class Tester(Crb):
"""
if self.read_cache:
self.load_serializer_ports()
+ self.scan_ports_cached()
if not self.read_cache or self.ports_info is None:
self.scan_ports_uncached()
@@ -253,6 +257,21 @@ class Tester(Crb):
for port_info in self.ports_info:
self.logger.info(port_info)
+ def scan_ports_cached(self):
+ if self.ports_info is None:
+ return
+
+ for port_info in self.ports_info:
+ if port_info['type'] == 'ixia':
+ continue
+
+ port = NetDevice(self, port_info['pci'], port_info['type'])
+ intf = port.get_interface_name()
+
+ self.logger.info("Tester cached: [000:%s %s] %s" % (
+ port_info['pci'], port_info['type'], intf))
+ port_info['port'] = port
+
def scan_ports_uncached(self):
"""
Return tester port pci/mac/interface information.