You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
2.5 KiB
53 lines
2.5 KiB
# Copyright 2018 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
import logging
|
|
import time
|
|
|
|
from autotest_lib.client.bin import test
|
|
from autotest_lib.client.common_lib import error
|
|
from autotest_lib.client.cros.multimedia import display_facade_native
|
|
from autotest_lib.client.cros.multimedia import facade_resource
|
|
|
|
|
|
class display_InternalDisplayRotation(test.test):
|
|
"""Display test case which rotates the internal display"""
|
|
version = 1
|
|
ROTATIONS = [90, 180, 270, 0]
|
|
STANDARD_ROTATION = 0
|
|
DELAY_BEFORE_ROTATION = DELAY_AFTER_ROTATION = 3
|
|
|
|
def cleanup(self):
|
|
"""Autotest cleanup method"""
|
|
# If the rotation is not standard then change rotation to standard
|
|
if self.display_facade:
|
|
if self.display_facade.get_display_rotation(
|
|
self.internal_display_id) != self.STANDARD_ROTATION:
|
|
logging.info("Setting standard rotation")
|
|
self.display_facade.set_display_rotation(
|
|
self.internal_display_id, self.STANDARD_ROTATION,
|
|
self.DELAY_BEFORE_ROTATION, self.DELAY_AFTER_ROTATION)
|
|
|
|
def run_once(self):
|
|
"""Test to rotate internal display"""
|
|
facade = facade_resource.FacadeResource()
|
|
facade.start_default_chrome()
|
|
self.display_facade = display_facade_native.DisplayFacadeNative(facade)
|
|
self.internal_display_id = self.display_facade.get_internal_display_id()
|
|
logging.info("Internal display ID is %s", self.internal_display_id)
|
|
rotation_before_starts = self.display_facade.get_display_rotation(
|
|
self.internal_display_id)
|
|
logging.info("Rotation before test starts is %d",
|
|
rotation_before_starts)
|
|
for angle in self.ROTATIONS:
|
|
logging.info("Rotation to be set %d", angle)
|
|
self.display_facade.set_display_rotation(self.internal_display_id,
|
|
angle,
|
|
self.DELAY_BEFORE_ROTATION,
|
|
self.DELAY_AFTER_ROTATION)
|
|
rotation = self.display_facade.get_display_rotation(
|
|
self.internal_display_id)
|
|
logging.info("Internal display rotation is set to %s", rotation)
|
|
if rotation != angle:
|
|
raise error.TestFail('Failed to set %d rotation' % angle) |