diff options
author | Marvin Liu <yong.liu@intel.com> | 2015-07-09 17:07:39 +0800 |
---|---|---|
committer | Marvin Liu <yong.liu@intel.com> | 2015-07-10 10:47:47 +0800 |
commit | 249c05fd7ff2b7bd9d4a473b3deafeab0d968c92 (patch) | |
tree | 310ac18779f405bf6db4eac37a05ea19fbd88783 /framework/tester.py | |
parent | 0aca9e7582f8db0e18479bd6affc383c06de488f (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.py | 23 |
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. |