List of Factory Tests (pytests)

This document describes all tests available throughout the factory code.

Notes

The components here are AVL components. See this link for the mapping of HWID component and AVL components.

Tests for Accelerometer/IMU

pytest name

description

accelerometers

A factory test for reading accelerometers

accelerometers_calibration

A factory test for accelerometers calibration.

accelerometers_lid_angle

This is a lid angle test based on accelerometers.

gyroscope

A factory test for gyroscopes.

gyroscope_calibration

A factory test for gyroscopes calibration.

spatial_sensor_calibration

Perform calibration on spatial sensors

tablet_mode

Tests that certain conditions are met when in tablet mode.

tablet_rotation

Tests screen rotation through ChromeOS and accelerometer data.

Tests for Ambient Light Sensor

pytest name

description

light_sensor

A factory test for ambient light sensor.

light_sensor_calibration

Calibration test for light sensor (a chamber is needed).

Tests for Audio Jack Codec

pytest name

description

audio

Tests audio playback.

audio_basic

Test basic audio record and playback.

audio_diagnostic

Tests to manually test audio playback and record quality.

audio_loop

A factory test for the audio function.

audio_quality

Audio Quality Test the use audio fixture.

Tests for Battery

pytest name

description

battery

A test to check if DUT can communicate with battery.

battery_basic

A basic battery test.

battery_current

A factory test to test battery charging/discharging current.

battery_cycle

This test cycles the battery.

battery_sysfs

A hardware test for checking battery existence and its basic status.

bcic

A test to set and check BC(battery config) in CBI(ChromeOS Board Info).

blocking_charge

Test that waits the battery to be charged to specific level.

charger

Test if the charger can charge battery in time.

Tests for CPU

pytest name

description

stressapptest

A test to stress CPU, memory and disk.

thermal_load

Tests thermal response under load.

thermal_slope

Determines how fast the processor heats/cools.

urandom

A factory test to stress CPU, by generating pseudo random numbers.

Tests for Camera - MIPI

pytest name

description

camera

Fixtureless camera test.

Tests for Camera - USB

pytest name

description

camera

Fixtureless camera test.

vsync

VSync pin test.

Tests for Card Reader

pytest name

description

removable_storage

Tests accessing to a removable storage.

Tests for Display Panel

pytest name

description

backlight

Test display backlight.

brightness.lcd_backlight

This is a factory test to check the functionality of LCD backlight module.

display

Test display functionality.

display_images

A station-based factory test to test the function of display.

display_interactive.display_interactive

Test display functionality with interactive mode.

display_point

A factory test to test the function of display panel using some points.

edp_panel_timing

Test eDP panel is supported with proper timing.

privacy_screen

Test that sets privacy screen to specific state.

Tests for EC

pytest name

description

update_firmware

Runs chromeos-firmwareupdate to force update Main(AP)/EC/PD firmwares.

Tests for Ethernet controller

pytest name

description

ethernet

A factory test for basic ethernet connectivity.

Tests for Fingerprint Sensor

pytest name

description

fingerprint_mcu

A factory test for the Fingerprint sensor.

update_fpmcu_firmware

Update Fingerprint MCU firmware.

Tests for HPS (Human Presence Sensor)

pytest name

description

hps

A factory test for HPS (Human Presence Sensor).

Tests for Memory

pytest name

description

memory_size

Test if the memory size is correctly written in the firmware.

mrc_cache

A factory test to initiate and verify memory re-training process.

stressapptest

A test to stress CPU, memory and disk.

update_cbi

A test to update CBI data to EEPROM.

Tests for Proximity(SAR) Sensor

pytest name

description

proximity_sensor

A test to check if the proximity sensor triggers events properly.

Tests for SPI Flash

pytest name

description

get_intel_desc_status

Gets the status of Intel SI_DESC and sets the status to device data.

update_firmware

Runs chromeos-firmwareupdate to force update Main(AP)/EC/PD firmwares.

Tests for Secure Element

pytest name

description

check_cr50_board_id

Check the board ID of the Cr50 firmware.

check_secdata_version

A factory test to check the secdata version.

clear_inactive_gsc_slot

Clears the inactive GSC RW slot.

cr50_ap_ro_hash

A test to set/clear AP RO hash.

cr50_ap_ro_verification

A test to ensure the AP RO verification works.

ti50_ap_ro_verification

A test to ensure the AP RO verification works on Ti50.

tpm_clear_owner

Requests that the firmware clear the TPM owner on the next reboot.

tpm_diagnosis

Runs tpm_selftest to perform TPM self-diagnosis.

tpm_state

A test to check the state of TPM die.

tpm_verify_ek

Verifies the TPM endorsement key.

update_cr50_firmware

Update Cr50 firmware.

Tests for Smart Speaker Amplifier

pytest name

description

audio

Tests audio playback.

audio_basic

Test basic audio record and playback.

audio_diagnostic

Tests to manually test audio playback and record quality.

audio_loop

A factory test for the audio function.

audio_quality

Audio Quality Test the use audio fixture.

dsm_calibration

A factory test to calibrate the smart speaker amplifier.

Tests for Speaker Amplifier

pytest name

description

audio

Tests audio playback.

audio_basic

Test basic audio record and playback.

audio_diagnostic

Tests to manually test audio playback and record quality.

audio_loop

A factory test for the audio function.

audio_quality

Audio Quality Test the use audio fixture.

Tests for Storage

pytest name

description

bad_blocks

Tests a storage device by running the badblocks command.

storage_simple_stress

Performs consecutive read/write operations on a single file.

stressapptest

A test to stress CPU, memory and disk.

verify_root_partition

Verifies the integrity of the root partition.

Tests for Storage bridge (PCIE-eMMC)

pytest name

description

bad_blocks

Tests a storage device by running the badblocks command.

storage_simple_stress

Performs consecutive read/write operations on a single file.

stressapptest

A test to stress CPU, memory and disk.

Tests for TPM

pytest name

description

check_secdata_version

A factory test to check the secdata version.

tpm_clear_owner

Requests that the firmware clear the TPM owner on the next reboot.

tpm_diagnosis

Runs tpm_selftest to perform TPM self-diagnosis.

tpm_state

A test to check the state of TPM die.

tpm_verify_ek

Verifies the TPM endorsement key.

Tests for Touch screen Controller (non stylus)

pytest name

description

touch_device_fw_update

Checks and updates touch device firmware.

touchscreen

Tests touchscreen or stylus by drawing in any order or in spiral pattern.

Tests for Touch screen controller (EMR Stylus)

pytest name

description

stylus

Test stylus functionality.

stylus_garage

Tests stylus garage detection functionality.

touch_device_fw_update

Checks and updates touch device firmware.

touchscreen

Tests touchscreen or stylus by drawing in any order or in spiral pattern.

Tests for Touch screen controller (USI Stylus)

pytest name

description

stylus

Test stylus functionality.

stylus_garage

Tests stylus garage detection functionality.

touch_device_fw_update

Checks and updates touch device firmware.

touchscreen

Tests touchscreen or stylus by drawing in any order or in spiral pattern.

Tests for Touchpad Controller

pytest name

description

touch_device_fw_update

Checks and updates touch device firmware.

touch_uniformity

A factory test for checking touch uniformity.

touchpad

A factory test to test the functionality of touchpad.

touchpad_hover

Touchpad Hover Test.

Tests for USB Composite Integrated Component

pytest name

description

battery_current

A factory test to test battery charging/discharging current.

external_display

Test external display with optional audio playback test.

removable_storage

Tests accessing to a removable storage.

Tests for WWAN

pytest name

description

cellular_switch_firmware

A factory test for switching the modem’s firmware.

lte_verify_config

Verifies the LTE module config.

modem_security

Verify and close modem access authority.

probe_cellular_info

Probes information from modem status.

probe_sim

Probes SIM card information from ‘modem status’.

probe_sim_card_tray

Probes SIM card tray

vswr.vswr

VSWR measures the efficiency of the transmission line.

Tests for Wifi / Bluetooth

pytest name

description

bluetooth

A factory test to verify the functionality of bluetooth device.

bluetooth_host

Station-based Bluetooth scan and pair test, using hciconfig and hcitool.

rf_graphyte.rf_graphyte

Tests RF chip’s transmitting and receiving capabilities using Graphyte.

vswr.vswr

VSWR measures the efficiency of the transmission line.

wifi_throughput

WiFi throughput test.

wireless_antenna

A factory test for basic Wifi.

Tests for FAN (Device feature component)

pytest name

description

fan_speed

A factory test to ensure the functionality of CPU fan.

Tests for HARDWARE_BUTTON (Device feature component)

pytest name

description

button

Tests button functionality.

Tests for KEYBOARD (Device feature component)

pytest name

description

keyboard

Tests keyboard functionality.

keyboard_backlight

This is a factory test to test keyboard backlight.

keyboard_smt

Tests keyboard pin connectivity in SMT factory test.

Tests for LED (Device feature component)

pytest name

description

brightness.led_brightness

This is a factory test to check the LED brightness.

led

A factory test for the led function.

Tests for PSR (Device feature component)

pytest name

description

setup_psr_feature

A test to set/check PSR EOM NVAR and start PSR Log.

update_psr_oem_data

A test to update and verify PSR OEM Data.

Uncategorized pytests

pytest name

description

ac_power

A test to ensure the power type and status of device under test.

bft_fixture

A generic interface to control the BFT fixture.

branded_chassis

A test to check if chassis is branded.

brightness.brightness

This is a factory test to check the brightness of LCD backlight or LEDs.

buzzer

This is a buzzer test.

cec

Test and check cec power control feature on Chrome OS device.

check_image_version

Check release or test OS image version on internal storage.

check_release_lvm_stateful

Check if release image has enabled LVM stateful partition.

check_retimer_firmware

Check the retimer firmware version.

check_serial_number

Checks if serial number is set correctly on a device.

check_test_list

A step to check test list.

compass

Compass test which requires operator place the DUT heading north and south.

copy_minios

Selectively copies the miniOS part that has the same recovery key ver as FW.

countdown

A count down monitor for better user interface in run-in tests.

download_from_factory_drive

Retrieve factory drive files from factory server.

exec_python

A test to run arbitrary python scripts.

exec_shell

A test to invoke a list of shell commands.

factory_state

A pytest helps you control FactoryStateLayer

feature_compliance_version

A factory test to check the feature compliance version.

finalize

The finalize test is the last step before DUT switching to release image.

flash_netboot

Flash system main (AP) firmware to netboot firmware.

gyroscope_angle

A factory test for gyroscopes.

hwid

Uses HWID v3 to generate, encode, and verify the device’s HWID.

lid_switch

Tests lid switch functionality.

lightbar

Factory test for lightbar on A-case.

line_check_item

A factory test to interactively check a sequence of shell commands on DUT.

message

Displays a message.

model_sku

A test to confirm and set SKU information.

mouse

A factory test to test the functionality of a mouse/trackpoint.

network_setup.network_setup

A pytest to wait operators setup network connection.

nop

An no-op test.

partition_table

Checks that the partition table extends nearly to the end of the storage device.

pd_fw_min_version

Check firmware version of PD (TCPC) chip equal to or larger than minimum version noted in corresponding EC driver.

ping_test

Ping connection test.

plankton_cc2_pull_test

Plankton USB type-C CC2 function test for Whale fixture.

plankton_cc_flip_check

USB type-C CC line polarity check and operation flip test w/ Plankton-Raiden.

plankton_charge

Test USB type-C port charging function with Plankton-Raiden board.

plankton_display

Tests USB type-C DP function with Plankton.

probe.probe

A factory test to check if the components can be probed successfully or not.

probe_device_info

A factory test for probe device information and update to device data.

provision_drm_key

Provision Widevine keybox to the VPD.

read_device_data_from_cros_config

Setup device data from ChromeOS Config.

read_device_data_from_vpd

Setup device data from VPD (Vital Product Data).

record_csv_entry_example

An example pytest to show case how to save a CSV entry.

retrieve_config

Retrieve JSON config file from either an USB stick or a factory server.

robot_movement

Control a robot to move a device for testing specific sensors.

sample_customized_test

This is the sample code of a board specific test.

scan

Prompts the operator to input a string of data.

select_for_sampling

Decide if this device is selected for certain sampling tests.

serial_echo

Checks the communication between DUT and SMT test fixture.

shopfloor_service

Invoke remote procedure call for interaction with shopfloor backend.

shutdown

Shutdown/Reboot the device.

start

A test to make sure everything is set for the following test in test list.

station_entry

Starts or ends a station-based test.

station_setup

Setup a station for station-based test.

summary

Displays a status summary for all tests in the current section.

suspend_resume

Suspend and resume device with given cycles.

suspend_stress

Suspend and resume device with given cycles.

switch_test_list

A step to switch test list.

sync_factory_server

Connect to factory server to find software updates and upload logs.

sync_time

Sync the clock of DUT with the clock of station.

thermal_sensors

Test for temperature sensors control.

thunderbolt_loopback

Tests thunderbolt port with a loopback card.

update_detachable_base

Detachable base update test

update_device_data

Updates Device Data (manually or from predefined values in test list).

update_kernel

Applies new kernel to DUT (for testing).

update_plugin_firmware

Update vendor plugin firmware using fwupdtool.

verify_component

Verify peripheral components.

verify_keybox

A test to check the correctness of widevine keybox.

video_playback

A video playback test.

wait_external_test

A stub test waiting for external fixture to finish testing.

wait_fixture_ready

Waits Fixture until it’s ready.

webgl_aquarium

WebGL performance test that executes a set of WebGL operations.

whale_check_voltage

Checks voltages.

whale_cover

Checks if Whale’s cover is opened / closed.

wireless_charge

Test wireless charge port functionality.

wireless_connect

Connect to an AP.

write_device_data_to_vpd

Writes device data to VPD (Vital Product Data).

write_protect_switch

Verifies that the write-protect switch is on.