generic_common¶
Inherit¶
ActivateRegCode¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method
"ActivateRegCode"
AllCheckPoint¶
pytest_name¶
args¶
disable_input_on_fail
true
pass_without_prompt
false
accessibility
true
include_parents
true
Barrier¶
pytest_name¶
args¶
disable_input_on_fail
true
pass_without_prompt
true
accessibility
true
BrandedChassis¶
pytest_name¶
args¶
rma_mode
"eval! constants.factory_process == 'RMA'"
Buzzer¶
pytest_name¶
args¶
gpio_index
"eval! constants.buzzer.gpio_index"
beep_duration_secs
0.3
mute_duration_secs
0.5
CEC¶
pytest_name¶
args¶
power_on
false
power_off
false
ChargeDischargeCurrent¶
pytest_name¶
args¶
min_charging_current
150
min_discharging_current
400
timeout_secs
30
max_battery_level
90
ChargerTypeDetection¶
pytest_name¶
CheckDisplay¶
pytest_name¶
args¶
display_info
"eval! locals.display.display_info"
start_output_only
false
stop_output_only
false
connect_only
true
drm_sysfs_path
"/sys/class/drm/card0"
CheckFeatureCompliance¶
pytest_name¶
args¶
hwid_need_vpd
"eval! constants.hwid_need_vpd"
rma_mode
"eval! constants.factory_process == 'RMA'"
CheckPoint¶
pytest_name¶
args¶
disable_input_on_fail
true
pass_without_prompt
false
accessibility
true
CheckReleaseImage¶
pytest_name¶
args¶
check_release_image
true
use_netboot
false
CheckReleaseLVMStateful¶
pytest_name¶
CheckRetimerFirmware¶
pytest_name¶
args¶
controller_ports
"eval! constants.retimer.controller_ports"
usb_ports
"eval! constants.retimer.usb_ports"
min_retimer_version
"eval! constants.retimer.min_retimer_version"
CheckSerialNumber¶
pytest_name¶
ClearUnknownRWVPD¶
pytest_name¶
args¶
commands
"gooftool clear_unknown_vpd_entries"
CopyMiniOS¶
pytest_name¶
Cr50SMTWriteFlashInfo¶
Make old definition as an alias of the new definition for backward compatibility
run_if¶
constants.factory_process != 'FULL'
pytest_name¶
args¶
upload_method
"eval! 'factory_server' if constants.enable_factory_server else 'none'"
mode
"eval! 'SHIMLESS_MLB' if constants.boot_to_shimless else 'MLB'"
factory_process
"eval! constants.factory_process"
Cr50WriteCustomlabelFlags¶
Make old definition as an alias of the new definition for backward compatibility
run_if¶
constants.factory_process != 'FULL'
pytest_name¶
args¶
upload_method
"eval! 'factory_server' if constants.enable_factory_server else 'none'"
mode
"eval! 'SHIMLESS_MLB' if constants.boot_to_shimless else 'MLB'"
factory_process
"eval! constants.factory_process"
DeprovisionCBI¶
pytest_name¶
args¶
commands
[ "ectool cbi set 2 0x7fffffff 4", "ectool cbi remove 6" ]
DisableLidSwitch¶
pytest_name¶
args¶
commands
"ectool forcelidopen 1"
EnableLidSwitch¶
pytest_name¶
args¶
commands
"ectool forcelidopen 0"
ExecShell¶
pytest_name¶
ExternalDisplay¶
pytest_name¶
args¶
display_info
[ { "display_id": "HDMI", "display_label": "HDMI External Display", "usbpd_spec": { "port": 0 } } ]
Fan¶
run_if¶
constants.has_fan
pytest_name¶
args¶
probe_interval_secs
0.2
target_rpm
[ 3000, 4500, 6000 ]
error_margin
300
FinalizeMLB¶
run_if¶
constants.factory_process != 'FULL'
pytest_name¶
args¶
upload_method
"eval! 'factory_server' if constants.enable_factory_server else 'none'"
mode
"eval! 'SHIMLESS_MLB' if constants.boot_to_shimless else 'MLB'"
factory_process
"eval! constants.factory_process"
Finish¶
pytest_name¶
FlashNetboot¶
pytest_name¶
FlushTestlog¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
sync_event_logs
false
update_toolkit
false
upload_report
false
upload_reg_codes
false
flush_testlog
true
GetDeviceInfo¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method
"GetDeviceInfo"
HPS¶
run_if¶
device.component.has_hps
pytest_name¶
args¶
timeout_secs
3600
Idle¶
pytest_name¶
Keyboard¶
pytest_name¶
args¶
allow_multi_keys
true
has_numpad
"eval! device.component.has_numeric_pad or False"
KeyboardBacklight¶
run_if¶
not constants.has_device_data or device.component.has_keyboard_backlight
pytest_name¶
LED¶
pytest_name¶
args¶
challenge
true
LidSwitch¶
pytest_name¶
Message¶
pytest_name¶
ModelSKU¶
pytest_name¶
args¶
config_name
"model_sku"
Mouse¶
pytest_name¶
NotifyOverlordTrackConnection¶
pytest_name¶
args¶
commands
"ghost --track-connection y"
NotifyOverlordUntrackConnection¶
pytest_name¶
args¶
commands
"ghost --track-connection n"
PartitionTable¶
pytest_name¶
Placeholder¶
pytest_name¶
Probe¶
pytest_name¶
args¶
config_file
"probe.json"
ProbeDeviceInfo¶
pytest_name¶
ProximitySensor¶
run_if¶
not constants.has_device_data or device.component.has_proximity_sensor
pytest_name¶
ReSignReleaseKernel¶
run_if¶
constants.phase != 'PVT' and constants.grt.re_sign_release_kernel
pytest_name¶
args¶
to_release
true
ReadDeviceDataFromCrosConfig¶
pytest_name¶
ReadDeviceDataFromVPD¶
pytest_name¶
RemovableStorage¶
pytest_name¶
args¶
block_size
524288
perform_random_test
false
perform_sequential_test
true
sequential_block_count
8
SDPerformance¶
run_if¶
constants.sd.sysfs_path != ''
pytest_name¶
args¶
block_size
524288
perform_random_test
false
perform_sequential_test
true
sequential_block_count
8
media
"SD"
sysfs_path
"eval! constants.sd.sysfs_path"
timeout_secs
60
Scan¶
pytest_name¶
SetWidevineKeybox¶
run_if¶
constants.has_keybox
pytest_name¶
ShopfloorNotifyEnd¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method
"NotifyEnd"
args
[ "eval! locals.station" ]
ShopfloorNotifyStart¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method
"NotifyStart"
args
[ "eval! locals.station" ]
ShopfloorService¶
run_if¶
constants.enable_factory_server
pytest_name¶
SpatialSensorCalibration¶
pytest_name¶
Start¶
pytest_name¶
StationEndSyncFactoryServer¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
upload_report
"eval! locals.station_end_upload_report"
report_stage
"eval! locals.station"
SuspendResume¶
pytest_name¶
SuspendStress¶
pytest_name¶
SyncFactoryServer¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
SyncFactoryServerUploadReport¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
upload_report
true
report_stage
"eval! locals.station"
TBTLoopback¶
run_if¶
False
pytest_name¶
ThermalSensors¶
pytest_name¶
ThermalSlope¶
pytest_name¶
URandom¶
pytest_name¶
USBPerformance¶
pytest_name¶
args¶
block_size
524288
perform_random_test
false
perform_sequential_test
true
sequential_block_count
8
media
"USB"
USBTypeCManualCharge¶
pytest_name¶
args¶
min_charging_current
150
min_discharging_current
400
timeout_secs
30
max_battery_level
90
usbpd_info
[ "eval! locals.usb.usbpd_id", "eval! int(locals.voltage * 1000 * 0.9)", "eval! int(locals.voltage * 1000 * 1.1)" ]
usbpd_prompt
"eval! locals.usb_label"
USBTypeCManualExternalDisplay¶
pytest_name¶
args¶
display_info
[ "eval! locals.usb.display_info" ]
UpdateCBI¶
pytest_name¶
args¶
cbi_data_names
[ "SKU_ID", "DRAM_PART_NUM", "PCB_SUPPLIER", "SSFC" ]
UpdateDeviceData¶
pytest_name¶
UpdateSKUID¶
pytest_name¶
args¶
cbi_data_names
[ "SKU_ID" ]
UploadRegCodes¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
sync_event_logs
false
sync_time
true
update_toolkit
false
upload_report
false
upload_reg_codes
true
flush_testlog
false
UploadZeroTouchIds¶
run_if¶
constants.grt.enable_zero_touch and constants.grt.collect_zero_touch_ids
pytest_name¶
args¶
server_url
"eval! constants.default_factory_server_url"
sync_event_logs
false
sync_time
true
update_toolkit
false
upload_report
false
upload_reg_codes
false
upload_zero_touch_ids
true
flush_testlog
false
VerifyWidevineKeybox¶
run_if¶
constants.has_keybox
pytest_name¶
WebGLAquarium¶
pytest_name¶
WirelessCharger¶
run_if¶
not constants.has_device_data or device.component.has_wireless_charger
pytest_name¶
args¶
occupy_instruction
"i18n! Attach peripheral to charging port"
release_instruction
"i18n! Remove peripheral from charging port"
WriteDeviceDataToVPD¶
pytest_name¶
WriteHWID¶
pytest_name¶
args¶
enable_factory_server
"eval! constants.enable_factory_server"
run_vpd
"eval! constants.hwid_need_vpd"
rma_mode
"eval! constants.factory_process == 'RMA'"
WriteProtectSwitch¶
pytest_name¶
WriteRMAHWID¶
pytest_name¶
args¶
enable_factory_server
"eval! constants.enable_factory_server"
run_vpd
"eval! constants.hwid_need_vpd"
rma_mode
true
WriteTestHWID¶
pytest_name¶
args¶
commands
[ "hwid read", "hwid write \"$(hwid generate_test)\"" ]
CECHDMI1¶
Serial subtests¶
{ "inherit": "CheckDisplay", "locals": { "display": "eval! constants.hdmi1" } }
{ "args": { "index": 1 }, "inherit": "CEC" }
CECHDMI2¶
Serial subtests¶
{ "inherit": "CheckDisplay", "locals": { "display": "eval! constants.hdmi2" } }
CECUSBTypeCHDMI¶
Serial subtests¶
{ "args": { "connect_only": true, "start_output_only": false, "stop_output_only": false }, "inherit": "USBTypeCManualExternalDisplay" }
{ "args": { "index": 1 }, "inherit": "CEC" }
ClearFactoryVPDEntries¶
Serial subtests¶
{ "args": { "commands": "gooftool clear_factory_vpd_entries" }, "inherit": "ExecShell", "label": "Clear factory VPD entries", "related_components": [ "test_tags.TestCategory.VPD" ] }
RebootStep
ColdReset¶
Serial subtests¶
{ "args": { "commands": "ectool reboot_ec cold at-shutdown" }, "inherit": "ExecShell", "label": "EC Cold Reset" }
HaltStep
EnableECWriteProtect¶
This test group explicitly disables factory mode and enables EC write protection after rebooting. Run this test group before finalization if the project uses STM32 chips for EC, otherwise finalization may fail. STM32 chips are likely to be used in ARM projects, and they require an EC reboot to let write protect settings take effect. Note that this disables the factory mode in advance, usually we disable the factory mode in finalize step. So it’s better to run this test as close to finalize step.
Serial subtests¶
{ "args": { "commands": [ "gsctool -a -F disable | true", "ectool flashprotect enable", "ectool reboot_ec RO at-shutdown" ] }, "pytest_name": "exec_shell" }
RebootStep
SetWidevineKeyboxGroup¶
run_if¶
constants.has_keybox
Serial subtests¶
{ "args": { "commands": "vpd -d widevine_keybox; rm /var/lib/oemcrypto/wrapped_amd_keybox || true" }, "inherit": "ExecShell", "label": "Reset Widevine keyboxes" }
RebootStep
StationEnd¶
Serial subtests¶
StationStart¶
Serial subtests¶
USBTypeAManualLeft¶
Serial subtests¶
{ "args": { "sysfs_path": "eval! constants.typea_usb.left.usb2_sysfs_path" }, "inherit": "USBPerformance", "label": "USB2 TypeA Performance", "run_if": "constants.typea_usb.left.usb2_sysfs_path != ''" }
{ "args": { "sysfs_path": "eval! constants.typea_usb.left.usb3_sysfs_path" }, "inherit": "USBPerformance", "label": "USB3 TypeA Performance", "run_if": "constants.typea_usb.left.usb3_sysfs_path != ''" }
USBTypeAManualRight¶
Serial subtests¶
{ "args": { "sysfs_path": "eval! constants.typea_usb.right.usb2_sysfs_path" }, "inherit": "USBPerformance", "label": "USB2 TypeA Performance", "run_if": "constants.typea_usb.right.usb2_sysfs_path != ''" }
{ "args": { "sysfs_path": "eval! constants.typea_usb.right.usb3_sysfs_path" }, "inherit": "USBPerformance", "label": "USB3 TypeA Performance", "run_if": "constants.typea_usb.right.usb3_sysfs_path != ''" }
USBTypeAManualTest¶
Serial subtests¶
USBTypeATest¶
Serial subtests¶
USBTypeCManualBase¶
Serial subtests¶
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 1 ] }, "inherit": "USBPerformance", "label": "USB3 CC1 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 2 ] }, "inherit": "USBPerformance", "label": "USB3 CC2 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb2_sysfs_path" }, "inherit": "USBPerformance", "label": "USB2 Performance" }
{ "args": { "controller_port": "eval! locals.usb.tbt_controller_port", "usbpd_spec": { "port": "eval! locals.usb.usbpd_id" } }, "inherit": "TBTLoopback" }
USBTypeCManualChargeItems¶
Serial subtests¶
{ "inherit": "USBTypeCManualCharge", "label": "20V Charging", "locals": { "voltage": 20 } }
{ "inherit": "USBTypeCManualCharge", "label": "5V Charging", "locals": { "voltage": 5 } }
USBTypeCManualLeft¶
Serial subtests¶
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 1 ] }, "inherit": "USBPerformance", "label": "USB3 CC1 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 2 ] }, "inherit": "USBPerformance", "label": "USB3 CC2 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb2_sysfs_path" }, "inherit": "USBPerformance", "label": "USB2 Performance" }
{ "args": { "controller_port": "eval! locals.usb.tbt_controller_port", "usbpd_spec": { "port": "eval! locals.usb.usbpd_id" } }, "inherit": "TBTLoopback" }
USBTypeCManualRight¶
Serial subtests¶
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 1 ] }, "inherit": "USBPerformance", "label": "USB3 CC1 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb3_sysfs_path", "usbpd_port_polarity": [ "eval! locals.usb.usbpd_id", 2 ] }, "inherit": "USBPerformance", "label": "USB3 CC2 Performance" }
{ "args": { "sysfs_path": "eval! locals.usb.usb2_sysfs_path" }, "inherit": "USBPerformance", "label": "USB2 Performance" }
{ "args": { "controller_port": "eval! locals.usb.tbt_controller_port", "usbpd_spec": { "port": "eval! locals.usb.usbpd_id" } }, "inherit": "TBTLoopback" }
USBTypeCManualTest¶
Serial subtests¶
USBTypeCTest¶
Serial subtests¶
UpdateFirmware¶
Serial subtests¶
{ "pytest_name": "update_firmware" }
{ "args": { "operation": "eval! constants.update_firmware.reboot_type" }, "inherit": "ShutdownStep", "label": "Reboot" }