How to use parse_ethtool method in autotest

Best Python code snippet using autotest_python

net_utils.py

Source:net_utils.py Github

copy

Full Screen

...106 if self.was_down:107 self.down()108 def get_name(self):109 return self._name110 def parse_ethtool(self, field, match, option='', next_field=''):111 output = bin_utils.system_output('%s %s %s' % (self.ethtool,112 option, self._name))113 if output:114 match = re.search('\n\s*%s:\s*(%s)%s' %115 (field, match, next_field), output, re.S)116 if match:117 return match.group(1)118 return ''119 def get_stats(self):120 stats = {}121 stats_path = '/sys/class/net/%s/statistics/' % self._name122 for stat in os.listdir(stats_path):123 f = open(stats_path + stat, 'r')124 if f:125 stats[stat] = int(f.read())126 f.close()127 return stats128 def get_stats_diff(self, orig_stats):129 stats = self.get_stats()130 for stat in stats.keys():131 if stat in orig_stats:132 stats[stat] = stats[stat] - orig_stats[stat]133 else:134 stats[stat] = stats[stat]135 return stats136 def get_driver(self):137 driver_path = os.readlink('/sys/class/net/%s/device/driver' %138 self._name)139 return os.path.basename(driver_path)140 def get_carrier(self):141 f = open('/sys/class/net/%s/carrier' % self._name)142 if not f:143 return ''144 carrier = f.read().strip()145 f.close()146 return carrier147 def get_supported_link_modes(self):148 result = self.parse_ethtool('Supported link modes', '.*',149 next_field='Supports auto-negotiation')150 return result.split()151 def get_advertised_link_modes(self):152 result = self.parse_ethtool('Advertised link modes', '.*',153 next_field='Advertised auto-negotiation')154 return result.split()155 def is_autoneg_advertised(self):156 result = self.parse_ethtool('Advertised auto-negotiation',157 'Yes|No')158 return result == 'Yes'159 def get_speed(self):160 return int(self.parse_ethtool('Speed', '\d+'))161 def is_full_duplex(self):162 result = self.parse_ethtool('Duplex', 'Full|Half')163 return result == 'Full'164 def is_autoneg_on(self):165 result = self.parse_ethtool('Auto-negotiation', 'on|off')166 return result == 'on'167 def get_wakeon(self):168 return self.parse_ethtool('Wake-on', '\w+')169 def is_rx_summing_on(self):170 result = self.parse_ethtool('rx-checksumming', 'on|off', '-k')171 return result == 'on'172 def is_tx_summing_on(self):173 result = self.parse_ethtool('tx-checksumming', 'on|off', '-k')174 return result == 'on'175 def is_scatter_gather_on(self):176 result = self.parse_ethtool('scatter-gather', 'on|off', '-k')177 return result == 'on'178 def is_tso_on(self):179 result = self.parse_ethtool('tcp segmentation offload',180 'on|off', '-k')181 return result == 'on'182 def is_pause_autoneg_on(self):183 result = self.parse_ethtool('Autonegotiate', 'on|off', '-a')184 return result == 'on'185 def is_tx_pause_on(self):186 result = self.parse_ethtool('TX', 'on|off', '-a')187 return result == 'on'188 def is_rx_pause_on(self):189 result = self.parse_ethtool('RX', 'on|off', '-a')190 return result == 'on'191 def _set_loopback(self, mode, enable_disable):192 return bin_utils.system('%s -L %s %s %s' %193 (self.ethtool, self._name, mode, enable_disable),194 ignore_status=True)195 def enable_loopback(self):196 # If bonded do not set loopback mode.197 # Try mac loopback first then phy loopback198 # If both fail, raise an error199 if bond().is_enabled():200 raise error.TestError('Unable to enable loopback while '201 'bonding is enabled.')202 if (self._set_loopback('phyint', 'enable') > 0 and203 self._set_loopback('mac', 'enable') > 0):...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful