53 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
| # 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) |