generic_run_in ============== Inherit ------- - :doc:`generic_battery.test_list ` - :doc:`generic_camera.test_list ` - :doc:`generic_dram.test_list ` - :doc:`generic_tpm.test_list ` - :doc:`generic_storage.test_list ` - :doc:`generic_common.test_list ` 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 ``````````` :doc:`blocking_charge <../pytests/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 ``````````` :doc:`countdown <../pytests/countdown>` args ```` ``log_interval`` :: 10 ``grace_secs`` :: 480 ``temp_max_delta`` :: 10 ``temp_criteria`` :: [ [ "CPU", null, null, null ] ] RunInRebootSequence ------------------- pytest_name ``````````` :doc:`shutdown <../pytests/shutdown>` args ```` ``operation`` :: "reboot" ``warmup_post_shutdown`` :: "eval! constants.run_in.reboot_warmup_secs" RunInRebootStep --------------- pytest_name ``````````` :doc:`shutdown <../pytests/shutdown>` args ```` ``operation`` :: "reboot" ``warmup_post_shutdown`` :: "eval! constants.run_in.reboot_warmup_secs" RunInStressAppTest ------------------ pytest_name ``````````` :doc:`stressapptest <../pytests/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 ``````````` :doc:`countdown <../pytests/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 ``````````` :doc:`camera <../pytests/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 ``````````` :doc:`camera <../pytests/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 ``````````` :doc:`suspend_stress <../pytests/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 ``````````` :doc:`suspend_stress <../pytests/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 ``````````` :doc:`urandom <../pytests/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 ``````````` :doc:`webgl_aquarium <../pytests/webgl_aquarium>` args ```` ``duration_secs`` :: "eval! constants.run_in.sat_duration_secs" RunInWebGLAquarium1000 ---------------------- Monitor the performance of graphics. pytest_name ``````````` :doc:`webgl_aquarium <../pytests/webgl_aquarium>` args ```` ``duration_secs`` :: "eval! constants.run_in.run_fishes_for_secs" ``num_fish`` :: 1000 RunInWebGLAquarium50 -------------------- Monitor the performance of graphics. pytest_name ``````````` :doc:`webgl_aquarium <../pytests/webgl_aquarium>` args ```` ``duration_secs`` :: "eval! constants.run_in.run_fishes_for_secs" ``num_fish`` :: 50 RunIn ----- Serial subtests ``````````````` - `RunInStart`_ - Barrier - `RunInItems`_ - CheckPoint - `RunInEnd`_ 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 ``````````````` - StationEnd - CheckPoint - `RunInRebootStep`_ 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 ``````````````` - TPMVerifyEK - ClearTPMOwnerRequest - `RunInMRCCache`_ - `RunInRebootStep`_ - Fan - `RunInStressGroupWithFrontCamera`_ - Barrier - `RunInStressGroupWithRearCamera`_ - Barrier - `RunInWebGLAquarium50`_ - Barrier - `RunInWebGLAquarium1000`_ - Barrier - `RunInRebootStep`_ - Barrier - `RunInSuspendStress`_ - Barrier - `RunInRebootSequence`_ - Barrier - VerifyRootPartition - Barrier - `RunInBlockingCharge`_ - Barrier - MemorySize - BatterySysfs 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 ````````````````` - `RunInStressFrontCamera`_ - `RunInURandom`_ - `RunInStressAppTest`_ - `RunInStressCountdown`_ RunInStressGroupWithFrontCamera ------------------------------- Parallel subtests ````````````````` - `RunInStressFrontCamera`_ - `RunInURandom`_ - `RunInStressAppTest`_ - `RunInStressCountdown`_ RunInStressGroupWithRearCamera ------------------------------ run_if `````` :: not constants.has_device_data or device.component.has_rear_camera Parallel subtests ````````````````` - `RunInStressRearCamera`_ - `RunInURandom`_ - `RunInStressAppTest`_ - `RunInStressCountdown`_