generic_run_in

Inherit

RunInBlockingCharge

Charges battery to min_charge_pct from Goofy’s charge_manager. There will be no AC power during FATP process, so we must make sure DUT battery has enough charge before leaving RunIn.

pytest_name

blocking_charge

args

timeout_secs
7200

RunInCountdown

temp_criteria: A list of rules to check that temperature is under the given range, rule format is [name, temp_index, warning_temp, critical_temp]

pytest_name

countdown

args

log_interval
10
grace_secs
480
temp_max_delta
10
temp_criteria
[
  [
    "CPU",
    null,
    null,
    null
  ]
]

RunInRebootSequence

pytest_name

shutdown

args

operation
"reboot"
warmup_post_shutdown
"eval! constants.run_in.reboot_warmup_secs"

RunInRebootStep

pytest_name

shutdown

args

operation
"reboot"
warmup_post_shutdown
"eval! constants.run_in.reboot_warmup_secs"

RunInStressAppTest

pytest_name

stressapptest

args

seconds
"eval! constants.run_in.sat_duration_secs"
wait_secs
10
free_memory_only
true

RunInStressCountdown

temp_criteria: A list of rules to check that temperature is under the given range, rule format is [name, temp_index, warning_temp, critical_temp]

pytest_name

countdown

args

log_interval
10
grace_secs
480
temp_max_delta
10
temp_criteria
[
  [
    "CPU",
    null,
    null,
    null
  ]
]
wifi_update_interval
10
bluetooth_update_interval
10
als_update_interval
10
duration_secs
"eval! constants.run_in.sat_duration_secs"

RunInStressFrontCamera

This test object cannot be run directly. User have to inherit and modify it.

run_if

not constants.has_device_data or device.component.has_front_camera

pytest_name

camera

args

camera_facing
"front"
mode
"timeout"
show_image
false
timeout_secs
"eval! constants.run_in.sat_duration_secs"

RunInStressRearCamera

This test object cannot be run directly. User have to inherit and modify it.

run_if

not constants.has_device_data or device.component.has_rear_camera

pytest_name

camera

args

camera_facing
"rear"
mode
"timeout"
show_image
false
timeout_secs
"eval! constants.run_in.sat_duration_secs"

RunInSuspendStress

This test runs `suspend_stress_test`.

pytest_name

suspend_stress

args

cycles
"eval! constants.run_in.dozing_sat_duration_secs // 20"
suspend_time_margin_min_secs
-1

RunInSuspendStressMemoryCheck

This test runs `suspend_stress_test –memory-check`.

pytest_name

suspend_stress

args

cycles
"eval! constants.run_in.dozing_sat_duration_secs // 20"
suspend_time_margin_min_secs
-1
memory_check
true

RunInURandom

pytest_name

urandom

args

duration_secs
"eval! constants.run_in.sat_duration_secs"

RunInWebGLAquarium

You can enhance RunInStressGroup by adding this test. However, running WebGLAquarium with a bunch of other stress tests is not a FSI gate. go/pe-sw-gates

pytest_name

webgl_aquarium

args

duration_secs
"eval! constants.run_in.sat_duration_secs"

RunInWebGLAquarium1000

Monitor the performance of graphics.

pytest_name

webgl_aquarium

args

duration_secs
"eval! constants.run_in.run_fishes_for_secs"
num_fish
1000

RunInWebGLAquarium50

Monitor the performance of graphics.

pytest_name

webgl_aquarium

args

duration_secs
"eval! constants.run_in.run_fishes_for_secs"
num_fish
50

RunIn

Serial subtests

RunInDozingStress

This test runs `stressapptest` and `suspend_stress_test` simultaneously.

In addition to measure the ability of a device to transition between ACPI power states, `stressapptest` can detect bad memory.

Parallel subtests

  • {
      "args": {
        "free_memory_only": true,
        "seconds": "eval! constants.run_in.dozing_sat_duration_secs"
      },
      "inherit": "StressAppTest"
    }
    
  • {
      "args": {
        "cycles": "eval! constants.run_in.dozing_sat_duration_secs // 40",
        "suspend_delay_max_secs": 30,
        "suspend_delay_min_secs": 28,
        "suspend_time_margin_min_secs": -1
      },
      "inherit": "SuspendStress"
    }
    
  • {
      "args": {
        "duration_secs": "eval! constants.run_in.dozing_sat_duration_secs"
      },
      "inherit": "RunInCountdown"
    }
    

RunInEnd

Serial subtests

RunInItems

RunIn is a stage to stress all ports for checking system stability. This stage may have many test barriers to let it fail early and reduce wasted test time.

The Factory Requirements (https://chromeos.google.com/partner/dlm/docs/factory/factoryrequirements.html) states that suspend resume is required as an essential part of Run-In testing. The purpose is to measure the ability of a device to transition between ACPI power states. To be more specific, ODM is required to perform one of RunInSuspendStress, RunInSuspendStressMemoryCheck, or RunInDozingStress.

Serial subtests

RunInMRCCache

Serial subtests

  • {
      "args": {
        "mode": "create"
      },
      "label": "i18n! Create Cache",
      "pytest_name": "mrc_cache"
    }
    
  • RunInRebootStep

  • {
      "args": {
        "mode": "verify_update"
      },
      "label": "i18n! Verify Cache Update",
      "pytest_name": "mrc_cache"
    }
    
  • RunInRebootStep

  • {
      "args": {
        "mode": "verify_no_update"
      },
      "label": "i18n! Verify Cache No Update",
      "pytest_name": "mrc_cache"
    }
    

RunInStart

Serial subtests

  • StationStart

RunInStressGroup

Parallel subtests

RunInStressGroupWithFrontCamera

Parallel subtests

RunInStressGroupWithRearCamera

run_if

not constants.has_device_data or device.component.has_rear_camera

Parallel subtests