# -*- mode: python; coding: utf-8 -*-


# Change this to enable checking external power (AC) before starting test.
_ENABLE_CHECK_EXTERNAL_POWER = False

# Change this to True if you want secure wipe (very slow).
_ENABLE_FACTORY_SECURE_WIPE = False

# Change this to enable using shop floor system.
_ENABLE_SHOP_FLOOR = True

# Change this to True for enabling firmware write protection.
# *** THIS IS REQUIRED TO BE TRUE FOR MASS PRODUCTION / SHIPPING DEVICES. ***
_ENABLE_WRITE_PROTECTION = False  # WARNING: False is ONLY ALLOWED FOR PRE-MP.

# Minimum percentage of battery charge level when finalizing.
# We only set this when _FACTORY_ENVIRONMENT is True.
_FINALIZE_BATTERY_MIN_PCT = None

# Change this to match your local report upload site.
# Default is to use shopfloor if available, otherwise discard reports.
# WARNING: 'none' is ONLY ALLOWED FOR DEBUGGING.
_REPORT_UPLOAD_METHOD = 'none'

TEST_LIST = [
    TestGroup(
        id='External Display',
        subtests=[
            OperatorTest(
                id='HDMI',
                autotest_name='factory_ExtDisplayRes',
                dargs={'main_display': 'eDP1', 'ext_display' : 'HDMI1'}),
            OperatorTest(
                id='DP',
                autotest_name='factory_ExtDisplayRes',
                dargs={'main_display': 'eDP1', 'ext_display' : 'DP1'}),
        ]
    ),  # End of External Display test group
]
