Index: client/site_tests/suite_Factory/control |
diff --git a/client/site_tests/suite_Factory/control b/client/site_tests/suite_Factory/control |
index f17be1f4dbda42a48782996ead70aa606f5aa8c5..ad2a52e97767ba0998d2d7a9ee4fc0cbf2e48846 100644 |
--- a/client/site_tests/suite_Factory/control |
+++ b/client/site_tests/suite_Factory/control |
@@ -88,8 +88,8 @@ test_list = [ |
dargs={'approved_dbs':'qualified_components*', |
'ignored_cids':[ |
'hash_ro_firmware', |
- 'part_id_bios', |
'part_id_hwqual', |
+ 'vendor_id_bios', |
'version_rw_firmware', |
]}), |
factory.TestData( |
@@ -200,15 +200,22 @@ test_list = [ |
factory.TestData( |
label_en='final', |
label_zw='最後測試', |
- formal_name='step_final', |
+ formal_name='step_final_stage1', |
automated_seq=[ |
# THIS IS A GOOGLE REQUIRED TEST. |
# PLEASE DO NOT REMOVE THIS TEST IN PRODUCTION RELEASES. |
factory.TestData( |
+ label_en='write GBB', |
+ label_zw='寫入GBB', |
+ formal_name='factory_WriteGBB'), |
+ factory.TestData( |
+ label_en='reboot', |
+ label_zw='重新開機', |
+ formal_name='factory_RebootStub'), |
+ factory.TestData( |
label_en='component validation', |
label_zw='元件驗證', |
- formal_name='hardware_Components', |
- dargs={'approved_dbs':'qualified_components*'})], |
+ formal_name='hardware_Components')], |
trigger='f'), |
# THIS IS A GOOGLE REQUIRED TEST. |
@@ -250,7 +257,6 @@ for test in test_list: |
test_map = factory.make_test_map(test_list) |
trigger_set = factory.make_trigger_set(test_list) |
-hwqual = None |
def run_subtest(name, dargs_map): |
job.run_test(name, **dargs_map[name]) |
@@ -267,19 +273,33 @@ def step_reboot_seq(dargs_map, i=0): |
step_init() |
-def step_runin(ui, dargs_map): |
- run_subtest('hardware_Components', dargs_map) |
- # Find the HWQual ID by getting the result of above hardware component test. |
- # TODO: Move this functionality to StatusMap. |
+hwqual_id = None |
+ |
+def get_hwqual_id(): |
+ # TODO: Move HWQual ID to StatusMap. |
+ global hwqual_id |
+ if not hwqual_id: |
+ hwqual_id = find_hwqual_id() |
+ return hwqual_id |
+ |
+def find_hwqual_id(): |
cmd = ('find %s -name keyval | xargs grep -h ^hwqual_id= | ' |
'sed s/hwqual_id=// | head -1' % |
(_RESULTS_PATH + '/hardware_Components.step_runin_*')) |
- hwqual = utils.system_output(cmd).strip() |
- if hwqual: |
- factory.log('HWQual ID = %s' % hwqual) |
- else: |
+ hwqual_id = utils.system_output(cmd).strip() |
+ hwqual_id = hwqual_id.rsplit(' ', 1)[0].replace(' ', '_') |
+ if not hwqual_id: |
factory.log('fail to get the HWQual ID') |
+ return hwqual_id |
+ |
+def update_dargs(test, dargs_map, update_map): |
+ for (key, value) in update_map.iteritems(): |
+ dargs_map[test][key] = value |
+ |
+ |
+def step_runin(ui, dargs_map): |
+ run_subtest('hardware_Components', dargs_map) |
run_subtest('hardware_GPIOSwitches', dargs_map) |
job.drop_caches_between_iterations = True |
run_subtest('hardware_SAT', dargs_map) |
@@ -288,8 +308,22 @@ def step_runin(ui, dargs_map): |
step_reboot_seq(dargs_map) |
-def step_final(ui, dargs_map): |
+def step_final_stage1(ui, dargs_map): |
+ update_dargs('factory_WriteGBB', dargs_map, |
+ {'gbb_file': 'gbb_*%s' % get_hwqual_id()}) |
+ run_subtest('factory_WriteGBB', dargs_map) |
+ job.next_step_prepend([step_final_stage2, ui, dargs_map]) |
+ factory.log('rebooting') |
+ time.sleep(5) |
+ job.reboot() |
+ |
+ |
+def step_final_stage2(ui, dargs_map): |
+ run_subtest('factory_RebootStub', dargs_map) |
+ update_dargs('hardware_Components', dargs_map, |
+ {'approved_dbs': 'qualified_components_*%s' % get_hwqual_id()}) |
run_subtest('hardware_Components', dargs_map) |
+ step_init() |
def step_init(): |