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

Unified Diff: gft_hwcomp.py

Issue 6821028: factory_test_tools: merge new properties from R11 factory hardware_Components (Closed) Base URL: ssh://gitrw.chromium.org:9222/factory_test_tools.git@master
Patch Set: add TODO to replace "modem status" by mm.py Created 9 years, 8 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 | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gft_hwcomp.py
diff --git a/gft_hwcomp.py b/gft_hwcomp.py
index b1efbd3a04cde1e71377c7cbe1b0d2b8ba709ec4..f98d8abbcfa7399e569f1d03824b3549dd2b3f29 100755
--- a/gft_hwcomp.py
+++ b/gft_hwcomp.py
@@ -45,11 +45,13 @@ class HardwareComponents(object):
'part_id_flash_chip',
'part_id_ec_flash_chip',
'part_id_hwqual',
+ 'part_id_keyboard',
'part_id_storage',
'part_id_tpm',
'part_id_wireless',
'vendor_id_touchpad',
'version_rw_firmware',
+ 'version_3g_firmware',
]
_pci_cids = [
'part_id_chipset',
@@ -289,6 +291,14 @@ class HardwareComponents(object):
part_id = gft_common.SystemOutput(cmd).strip()
return part_id
+ def get_part_id_keyboard(self):
+ # VPD value "initial_locale"="en-US" should be listed.
Louis 2011/04/11 02:43:12 Could you change the example as following to match
+ image_file = self.load_main_firmware()
+ part_id = gft_common.SystemOutput(
+ 'vpd -i RO_VPD -l -f %s | grep keyboard_layout | cut -f4 -d\\"' %
Louis 2011/04/11 02:43:12 shall we escape -f %s like -f \\"%s\\" Ignore
+ image_file).strip()
+ return part_id or self._not_present
+
def get_part_id_tpm(self):
""" Returns Manufacturer_info : Chip_Version """
cmd = 'tpm_version'
@@ -392,6 +402,35 @@ class HardwareComponents(object):
return 'A=%d, B=%d' % (versions[0], versions[1])
return '%d' % versions[0]
+ def get_version_3g_firmware(self):
+ version = 'Unknown'
+ # TODO(hungte) use mm.py directly to prevent the need of shell scripting
+ modem_status = gft_common.SystemOutput('modem status').splitlines()
+ if not modem_status:
+ return self._not_present
+
+ # status format:
+ # Manufacturer: $VENDOR
+ # Modem: $MODEM
+ # Version: $VERSION_MAY_BE_MULTILINE
+ def ParseInfo(name):
+ data = [line for line in modem_status if line.find('%s: ' % name) >= 0]
+ assert len(data) < 2
+ return data[0].split(': ', 1)[1].strip()
+
+ version = ParseInfo('Version')
+ vendor = ParseInfo('Manufacturer')
+ modem = ParseInfo('Modem')
+
+ if vendor == 'Samsung' and modem == 'GT-Y3300X':
+ # The real version is in "Version:" +2 lines
+ version = ''
+ for i, line in enumerate(modem_status):
+ if 'Version: ' in line:
+ version = modem_status[i + 2].strip()
+ break
+ return version or 'Unknown'
+
def _read_gbb_component(self, name):
image_file = self.load_main_firmware()
if not image_file:
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698