Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1374)

Unified Diff: client/site_tests/hardware_Components/hardware_Components.py

Issue 3053016: Not check versions of BIOS. Checking hash is enough. (Closed) Base URL: ssh://gitrw.chromium.org/autotest.git
Patch Set: grep and ignore_status=True Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/site_tests/hardware_Components/approved_components ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/site_tests/hardware_Components/hardware_Components.py
diff --git a/client/site_tests/hardware_Components/hardware_Components.py b/client/site_tests/hardware_Components/hardware_Components.py
index 7506607673ec3ec6596168e2706e98b2285c58a6..be88a9310735b3e3938758f2036fb1bd48f9d664 100644
--- a/client/site_tests/hardware_Components/hardware_Components.py
+++ b/client/site_tests/hardware_Components/hardware_Components.py
@@ -14,7 +14,6 @@ class hardware_Components(test.test):
_cids = [
'hash_ro_firmware',
'part_id_audio_codec',
- 'part_id_bios',
'part_id_cpu',
'part_id_display_panel',
'part_id_embedded_controller',
@@ -23,6 +22,7 @@ class hardware_Components(test.test):
'part_id_hwqual',
'part_id_storage',
'part_id_wireless',
+ 'vendor_id_bios',
'vendor_id_touchpad',
'ver_rw_firmware',
]
@@ -62,24 +62,66 @@ class hardware_Components(test.test):
self._failures[comp_key] = [ comp_id ]
- def get_part_id_audio_codec(self):
- cmd = 'grep -R Codec: /proc/asound/* | head -n 1 | sed s/.\*Codec://'
- part_id = utils.system_output(cmd).strip()
- return part_id
+ def check_approved_part_id_existence(self, cid, type):
+ """
+ Check if there are matching devices on the system.
+ Parameter type should be one of 'pci', 'usb', or 'others'.
+ """
+ if cid in self._ignored:
+ return
+ if not self._approved.has_key(cid):
+ raise error.TestFail('%s missing from database' % cid)
- def get_part_id_bios(self):
- cmd = ('dmidecode | grep -A 2 "BIOS Information" | tail -2 '
- '| sed "s/.*: //" | tr "\n" " "')
- part_id = utils.system_output(cmd).strip()
+ approved_devices = self._approved[cid]
+ if '*' in approved_devices:
+ self._system[cid] = [ '*' ]
+ return
+
+ for device in approved_devices:
+ present = False
+ if type in ['pci', 'usb']:
+ try:
+ cmd = '/usr/sbin/ls' + type + ' -d %s'
+ output = utils.system_output(cmd % device)
+ # If it shows something, means found.
+ if output:
+ present = True
+ except:
+ pass
+ elif type == 'others':
+ present = getattr(self, 'check_existence_' + cid)(device)
+
+ if present:
+ self._system[cid] = [ device ]
+ return
- cmd = ('dmidecode | grep "\(BIOS\|Firmware\) Revision" | sed "s/\t//" '
- '| sed "s/Revision/Rev/"')
- rev_num = ', '.join(utils.system_output(cmd).split('\n'))
+ self._failures[cid] = [ 'No match' ]
- if rev_num:
- part_id = part_id + ' (' + rev_num + ')'
+ def check_existence_part_id_chrontel(self, part_id):
+ if part_id == self._not_present:
+ return True
+
+ if part_id == 'ch7036':
+ grep_cmd = 'grep i2c_dev /proc/modules'
+ i2c_loaded = (utils.system(grep_cmd, ignore_status=True) == 0)
+ if not i2c_loaded:
+ utils.system('modprobe i2c_dev')
+
+ probe_cmd = 'ch7036_monitor -p'
+ present = (utils.system(probe_cmd, ignore_status=True) == 0)
+
+ if not i2c_loaded:
+ utils.system('modprobe -r i2c_dev')
+ return present
+
+ return False
+
+
+ def get_part_id_audio_codec(self):
+ cmd = 'grep -R Codec: /proc/asound/* | head -n 1 | sed s/.\*Codec://'
+ part_id = utils.system_output(cmd).strip()
return part_id
@@ -166,61 +208,11 @@ class hardware_Components(test.test):
return "%s:%s" % (vendor_id.replace('0x',''), part_id.replace('0x',''))
- def check_approved_part_id_existence(self, cid, type):
- """
- Check if there are matching devices on the system.
- Parameter type should be one of 'pci', 'usb', or 'others'.
- """
- if cid in self._ignored:
- return
-
- if not self._approved.has_key(cid):
- raise error.TestFail('%s missing from database' % cid)
-
- approved_devices = self._approved[cid]
- if '*' in approved_devices:
- self._system[cid] = [ '*' ]
- return
-
- for device in approved_devices:
- present = False
- if type in ['pci', 'usb']:
- try:
- cmd = '/usr/sbin/ls' + type + ' -d %s'
- output = utils.system_output(cmd % device)
- # If it shows something, means found.
- if output:
- present = True
- except:
- pass
- elif type == 'others':
- present = getattr(self, 'check_existence_' + cid)(device)
-
- if present:
- self._system[cid] = [ device ]
- return
-
- self._failures[cid] = [ 'No match' ]
-
-
- def check_existence_part_id_chrontel(self, part_id):
- if part_id == self._not_present:
- return True
-
- if part_id == 'ch7036':
- grep_cmd = 'grep i2c_dev /proc/modules'
- i2c_loaded = (utils.system(grep_cmd, ignore_status=True) == 0)
- if not i2c_loaded:
- utils.system('modprobe i2c_dev')
-
- probe_cmd = 'ch7036_monitor -p'
- present = (utils.system(probe_cmd, ignore_status=True) == 0)
-
- if not i2c_loaded:
- utils.system('modprobe -r i2c_dev')
- return present
-
- return False
+ def get_vendor_id_bios(self):
+ cmd = ('dmidecode | grep -A 1 "BIOS Information" | grep Vendor: '
+ '| sed "s/.*Vendor: //"')
+ part_id = utils.system_output(cmd, ignore_status=True).strip()
+ return part_id
def get_vendor_id_touchpad(self):
« no previous file with comments | « client/site_tests/hardware_Components/approved_components ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698