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

Blogs

Check out the latest blogs from LambdaTest on this topic:

Scala Testing: A Comprehensive Guide

Before we discuss Scala testing, let us understand the fundamentals of Scala and how this programming language is a preferred choice for your development requirements.The popularity and usage of Scala are rapidly rising, evident by the ever-increasing open positions for Scala developers.

What Agile Testing (Actually) Is

So, now that the first installment of this two fold article has been published (hence you might have an idea of what Agile Testing is not in my opinion), I’ve started feeling the pressure to explain what Agile Testing actually means to me.

How To Choose The Right Mobile App Testing Tools

Did you know that according to Statista, the number of smartphone users will reach 18.22 billion by 2025? Let’s face it, digital transformation is skyrocketing and will continue to do so. This swamps the mobile app development market with various options and gives rise to the need for the best mobile app testing tools

A Complete Guide To CSS Houdini

As a developer, checking the cross browser compatibility of your CSS properties is of utmost importance when building your website. I have often found myself excited to use a CSS feature only to discover that it’s still not supported on all browsers. Even if it is supported, the feature might be experimental and not work consistently across all browsers. Ask any front-end developer about using a CSS feature whose support is still in the experimental phase in most prominent web browsers. ????

Appium Testing Tutorial For Mobile Applications

The count of mobile users is on a steep rise. According to the research, by 2025, it is expected to reach 7.49 billion users worldwide. 70% of all US digital media time comes from mobile apps, and to your surprise, the average smartphone owner uses ten apps per day and 30 apps each month.

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