generic_common¶
Inherit¶
ActivateRegCode¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method"ActivateRegCode"
AllCheckPoint¶
pytest_name¶
args¶
disable_input_on_failtruepass_without_promptfalseaccessibilitytrueinclude_parentstrue
Barrier¶
pytest_name¶
args¶
disable_input_on_failtruepass_without_prompttrueaccessibilitytrue
BrandedChassis¶
pytest_name¶
args¶
rma_mode"eval! constants.factory_process == 'RMA'"
Buzzer¶
pytest_name¶
args¶
gpio_index"eval! constants.buzzer.gpio_index"beep_duration_secs0.3mute_duration_secs0.5
CEC¶
pytest_name¶
args¶
power_onfalsepower_offfalse
ChargeDischargeCurrent¶
pytest_name¶
args¶
min_charging_current150min_discharging_current400timeout_secs30max_battery_level90
ChargerTypeDetection¶
pytest_name¶
CheckDisplay¶
pytest_name¶
args¶
display_info"eval! locals.display.display_info"start_output_onlyfalsestop_output_onlyfalseconnect_onlytruedrm_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'"
CheckPDCFirmware¶
pytest_name¶
args¶
min_fw_version_dec"0.0.0.0.0.0.27.0"
CheckPoint¶
pytest_name¶
args¶
disable_input_on_failtruepass_without_promptfalseaccessibilitytrue
CheckReleaseImage¶
pytest_name¶
args¶
check_release_imagetrueuse_netbootfalse
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_secs0.2target_rpm[ 3000, 4500, 6000 ]
error_margin300
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_logsfalseupdate_toolkitfalseupload_reportfalseupload_reg_codesfalseflush_testlogtrue
GetDeviceInfo¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
method"GetDeviceInfo"
HPS¶
run_if¶
device.component.has_hps
pytest_name¶
args¶
timeout_secs3600
Idle¶
pytest_name¶
Keyboard¶
pytest_name¶
args¶
allow_multi_keystruehas_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¶
challengetrue
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"
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_releasetrue
ReadDeviceDataFromCrosConfig¶
pytest_name¶
ReadDeviceDataFromVPD¶
pytest_name¶
RemovableStorage¶
pytest_name¶
args¶
block_size524288perform_random_testfalseperform_sequential_testtruesequential_block_count8
SDPerformance¶
run_if¶
constants.sd.sysfs_path != ''
pytest_name¶
args¶
block_size524288perform_random_testfalseperform_sequential_testtruesequential_block_count8media"SD"sysfs_path"eval! constants.sd.sysfs_path"timeout_secs60
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_reporttruereport_stage"eval! locals.station"
TBTLoopback¶
run_if¶
False
pytest_name¶
ThermalSensors¶
pytest_name¶
ThermalSlope¶
pytest_name¶
URandom¶
pytest_name¶
USBPerformance¶
pytest_name¶
args¶
block_size524288perform_random_testfalseperform_sequential_testtruesequential_block_count8media"USB"
USBTypeCManualCharge¶
pytest_name¶
args¶
min_charging_current150min_discharging_current400timeout_secs30max_battery_level90usbpd_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_logsfalsesync_timetrueupdate_toolkitfalseupload_reportfalseupload_reg_codestrueflush_testlogfalse
UploadSerialNumberForAuditing¶
run_if¶
constants.enable_factory_server
pytest_name¶
args¶
server_url"eval! constants.default_factory_server_url"sync_event_logsfalsesync_timetrueupdate_toolkitfalseupload_reportfalseupload_reg_codesfalseupload_sntrueflush_testlogfalse
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_logsfalsesync_timetrueupdate_toolkitfalseupload_reportfalseupload_reg_codesfalseupload_zero_touch_idstrueflush_testlogfalse
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_modetrue
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" }