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

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

Issue 3493016: Add EC hash in hardware_Components database (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git
Patch Set: change field ordering by alphabet Created 10 years, 3 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 6cccf14e5f9b39d60b9974f9a421acec093bc2b6..6a9a990123641a3e131c99e7e5d76f6b5cb0ad30 100644
--- a/client/site_tests/hardware_Components/hardware_Components.py
+++ b/client/site_tests/hardware_Components/hardware_Components.py
@@ -16,6 +16,7 @@ class hardware_Components(test.test):
version = 1
_cids = [
'data_display_geometry',
+ 'hash_ec_firmware',
'hash_ro_firmware',
'part_id_audio_codec',
'part_id_cpu',
@@ -246,26 +247,26 @@ class hardware_Components(test.test):
def get_closed_vendor_id_touchpad(self, vendor_name):
"""
- Using closed-source method to derive the vendor information
+ Using closed-source method to derive the vendor information
given the vendor name.
"""
part_id = ''
if vendor_name.lower() == 'synaptics':
- # Turn off raw mode in order to show touch pad as input
+ # Turn off raw mode in order to show touch pad as input
script_set_raw = '/opt/Synaptics/bin/synset'
redirect_std_1_2 = '> /dev/null 2>&1'
if not os.path.exists(script_set_raw):
return part_id
cmd_disable_raw = ' '.join([script_set_raw, 'stop', \
redirect_std_1_2])
- utils.system(cmd_disable_raw, ignore_status=True)
+ utils.system(cmd_disable_raw, ignore_status=True)
# Now we can capture touch pad input under /sys/class/input
touchpad_input_path = '/sys/class/input/'
input_dirs = os.listdir(touchpad_input_path)
part_ids = []
for input_dir in input_dirs:
- if not input_dir.startswith('input'):
+ if not input_dir.startswith('input'):
continue
fname = os.path.join(touchpad_input_path, input_dir, 'name')
input_id = utils.read_file(fname)
@@ -283,11 +284,11 @@ class hardware_Components(test.test):
def get_vendor_id_touchpad(self):
# First, try to use closed-source method to probe touch pad
part_id = self.get_closed_vendor_id_touchpad('Synaptics')
- if part_id != '':
+ if part_id != '':
return part_id
# If the closed-source method above fails to find vendor infomation,
# try an open-source method.
- else:
+ else:
cmd_grep = 'grep -i Touchpad /proc/bus/input/devices | sed s/.\*=//'
part_id = utils.system_output(cmd_grep).strip('"')
return part_id
@@ -301,7 +302,7 @@ class hardware_Components(test.test):
def get_hash_ro_firmware(self):
"""
- Returns a hash of Read Only firmware parts,
+ Returns a hash of Read Only (BIOS) firmware parts,
to confirm we have proper keys / boot code / recovery image installed.
"""
# hash_ro_list: RO section to be hashed
@@ -333,6 +334,17 @@ class hardware_Components(test.test):
raise error.TestError('Invalid hash source from flashrom.')
return hashlib.sha256(hash_src).hexdigest()
+ def get_hash_ec_firmware(self):
+ """
+ Returns a hash of Embedded Controller firmware parts,
+ to confirm we have proper updated version of EC firmware.
+ """
+ flashrom = flashrom_util.FlashromUtility()
+ flashrom.initialize(flashrom.TARGET_EC)
+ # to bypass the 'skip verification' sections
+ image = flashrom.get_current_image()
+ hash_src = flashrom.get_verification_image(image)
+ return hashlib.sha256(hash_src).hexdigest()
def get_version_rw_firmware(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