blob: 007813dfdc8c58528c4b2363f235a96227df85d3 [file] [log] [blame]
# -*- coding: utf-8 -*-
#
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# DOCUMENTATION:
#
# Define below an ordered list if tests for execution on factory
# assembly lines. This list can be customized for specific factory
# needs, within the limits set by the below comments -- specifically,
# ODMs should not remove any Google required tests.
#
# This file is loaded via a call to execfile() in the primary factory
# autotest control file.
# -- CUSTOMIZATION VARIABLES ---------------------------------------
# You can tune these settings to fit your factory process.
# Change this to False if you want and allow fast wipe (insecure).
_DO_FACTORY_SECURE_WIPE = True
# Change this to the number of reboots you want during run-in.
_REBOOT_SEQ_ITERATIONS = 2
# Change this to the duration of SAT during run-in (suggested 10+ mins).
_SAT_DURATION_SECS = 60
# Change this to match your local report upload site.
# You can use a FTP url like: ftp://user:pass@host:port/path/file
# VPD variables NAME=VALUE can be used as %(vpd_NAME).
# Ex: serial=123 => $(vpd_serial).log => 123.log
_REPORT_UPLOAD_METHOD = 'none' # WARNING: none is ONLY ALLOWED FOR DEBUGGING.
# REPORT UPLOADING IS REQUIRED TO BE SET AT BUILD TIME.
# REPORTS MUST BE PROVIDED TO GOOGLE, MACHINES WITHOUT LOGS CANNOT BE SUPPORTED.
# -- END OF CUSTOMIZATION VARIABLES --------------------------------
# TEST ORDERING: Tests in the test_list will be run in the order
# below, unless the operator interrupts the flow via keyboard
# shortcut. To cause immediate execution of the run-in tests, for
# example, reorder runin to occur as the first test in the test_list.
TEST_LIST = [
OperatorTest(
label_en='start',
label_zw='開始',
autotest_name='factory_Dummy',
kbd_shortcut='e',
dargs={'quit_key':ord(' '),
'msg':'Hit SPACE to start testing...\n按 "空白鍵" 開始測試...'}),
# The factory_ScriptWrapper allows interactive execution of
# external scripts or programs with the output displayed in the
# testing widget area of the screen. This is useful, for example,
# to sync-up with the assembly line IT system.
# OperatorTest(
# label_en='sync',
# label_zw='同步',
# autotest_name='factory_ScriptWrapper',
# kbd_shortcut='s',
# dargs={'cmdline': job.autodir +
# '/site_tests/factory_ScriptWrapper/dummy.sh'}),
AutomatedSequence(
label_en='run-in',
label_zw='燒機測試',
subtest_tag_prefix='runin',
kbd_shortcut='r',
subtest_list=[
AutomatedSubTest(
label_en='system stress',
label_zw='壓力測試',
autotest_name='hardware_SAT',
dargs={'seconds': _SAT_DURATION_SECS},
drop_caches=True),
AutomatedSubTest(
label_en='graphics',
label_zw='圖型',
autotest_name='graphics_GLBench'),
AutomatedSubTest(
label_en='sleep / wake',
label_zw='睡眠 / 喚醒',
autotest_name='power_Resume'),
AutomatedSubTest(
label_en='GPS hardware',
label_zw='GPS 硬體',
autotest_name='hardware_GPS'),
AutomatedRebootSubTest(
label_en='reboot (%s times)' % _REBOOT_SEQ_ITERATIONS,
label_zw='重新開機 (%s 次)' % _REBOOT_SEQ_ITERATIONS,
iterations=_REBOOT_SEQ_ITERATIONS)]),
# THIS IS A GOOGLE REQUIRED TEST.
# YOU MUST TEST THIS COMPONENT, EITHER WITH THIS TEST, OR ANOTHER EQUIVALENT
# TEST THAT YOU HAVE HAD REVIEWED BY GOOGLE.
OperatorTest(
label_en='region',
label_zw='地區語系',
autotest_name='factory_SelectRegion',
kbd_shortcut='j'),
OperatorTest(
label_en='keyboard',
label_zw='鍵盤',
autotest_name='factory_Keyboard',
kbd_shortcut='k'),
OperatorTest(
label_en='touchpad',
label_zw='觸控板',
autotest_name='factory_Touchpad',
kbd_shortcut='t'),
OperatorTest(
label_en='leds',
label_zw='機身側燈',
autotest_name='factory_Leds',
kbd_shortcut='l',
dargs={'led_ctl_path':
'/usr/local/autotest/site_tests/factory_Leds/src/ec_ctl'}),
OperatorTest(
label_en='display',
label_zw='顯示',
autotest_name='factory_Display',
kbd_shortcut='m'),
OperatorTest(
label_en='x-display',
label_zw='外接顯示',
autotest_name='factory_ExtDisplay',
kbd_shortcut='n',
dargs={'has_audio':True,
'audio_sample_path':'site_tests/suite_Factory/fhorn.wav'}),
OperatorTest(
label_en='camera',
label_zw='相機',
autotest_name='factory_Camera',
kbd_shortcut='c'),
OperatorTest(
label_en='audio',
label_zw='音源裝置',
autotest_name='factory_Audio',
kbd_shortcut='a',
dargs={'audio_sample_path':'site_tests/suite_Factory/fhorn.wav'}),
OperatorTest(
label_en='usb',
autotest_name='factory_ExternalStorage',
kbd_shortcut='u',
dargs={'media':'USB'}),
OperatorTest(
label_en='sd',
autotest_name='factory_ExternalStorage',
kbd_shortcut='d',
dargs={'media':'SD'}),
# OperatorTest(
# label_en='bluetooth',
# label_zw='藍芽',
# autotest_name='factory_Dummy',
# kbd_shortcut='o',
# dargs={'msg':'bluetooth test, one day...'}),
# OperatorTest(
# label_en='3g',
# label_zw='3G上網',
# autotest_name='factory_Dummy',
# kbd_shortcut='g',
# dargs={'msg':'3g test, one day...'}),
# OperatorTest(
# label_en='wifi',
# label_zw='無線上網',
# autotest_name='factory_Dummy',
# kbd_shortcut='w',
# dargs={'msg':'wifi test, one day...'}),
OperatorTest(
label_en='light sensor',
label_zw='光感應器',
autotest_name='factory_LightSensor',
dargs={'lux_max':1000, 'lux_min':1},
kbd_shortcut='i'),
# THIS IS A GOOGLE REQUIRED TEST.
# YOU MUST TEST THIS COMPONENT, EITHER WITH THIS TEST, OR ANOTHER EQUIVALENT
# TEST THAT YOU HAVE HAD REVIEWED BY GOOGLE.
OperatorTest(
label_en='devrec',
label_zw='還原模式',
autotest_name='factory_DeveloperRecovery',
kbd_shortcut='b',
dargs={'layout':'devrec'}),
# THIS IS A GOOGLE REQUIRED TEST.
# YOU MUST TEST THIS COMPONENT, EITHER WITH THIS TEST, OR ANOTHER EQUIVALENT
# TEST THAT YOU HAVE HAD REVIEWED BY GOOGLE.
AutomatedSequence(
label_en='HWID',
label_zw='硬體代號',
subtest_tag_prefix='hwid',
kbd_shortcut='h',
subtest_list=[
AutomatedSubTest(
label_en='hw-qual-id matching',
label_zw='型號匹配',
autotest_name='factory_ProbeHWID',
unique_name='hw-qual-id-match'),
AutomatedSubTest(
label_en='write GBB',
label_zw='寫入GBB',
autotest_name='factory_WriteGBB'),
AutomatedRebootSubTest(
label_en='reboot',
label_zw='重新開機',
iterations=1),
# Validation will be made in final stage.
# If you've got problems, use gooftool to check.
]),
# THIS IS A GOOGLE REQUIRED TEST.
# PLEASE DO NOT REMOVE THIS TEST IN PRODUCTION RELEASES.
AutomatedSequence(
label_en='final',
label_zw='最終步驟',
subtest_tag_prefix='finalize',
kbd_shortcut='f',
subtest_list=[
# The pre-flight is to help operators checking if everything is OK.
# You can remove the step if you want a fully automated process.
AutomatedSubTest(
label_en='pre flight',
label_zw='就緒檢查',
autotest_name='factory_PreFinalCheck'),
# The finalize is required for every products.
# You can't remove this step.
AutomatedSubTest(
label_en='finalize',
label_zw='最終程序',
autotest_name='factory_Finalize',
dargs={
'check_required_tests': True,
'check_and_enable_write_protect': True,
'upload_method': _REPORT_UPLOAD_METHOD,
'secure_wipe': _DO_FACTORY_SECURE_WIPE,
})]),
# NOTE: factory_Finalize.dargs support following variables for
# temporary testing. You can add these settings to help internal
# test, but THESE ARE GOOGLE REQUIRED TESTS SO YOU SHOULD NOT
# DISABLE THEM IN PRODUCTION RELEASES.
# - check_required_tests: check if all required tests are passed
# - check_and_enable_write_protect: enable and verify flashrom
# write protection
InformationScreen(
label_en='review',
label_zw='報告',
autotest_name='factory_Review',
unique_name='ReviewInformation', # REVIEW_INFORMATION_TEST_UNIQUE_NAME
kbd_shortcut='z'),
]