1# Lint as: python2, python3 2# Copyright (c) 2018 The Chromium OS Authors. All rights reserved. 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6from autotest_lib.client.bin import test 7from autotest_lib.client.common_lib import error 8from autotest_lib.client.common_lib.cros import chrome 9from autotest_lib.client.cros import constants as cros_constants 10from autotest_lib.client.cros.multimedia import local_facade_factory 11 12 13class display_DisplayContainEdid(test.test): 14 """ 15 Verifies that display information returned from ChromeOS specific 16 chrome.system.display API contain EDID information. 17 """ 18 version = 1 19 20 def run_once(self): 21 with chrome.Chrome( 22 extension_paths = [cros_constants.DISPLAY_TEST_EXTENSION], 23 autotest_ext=True) as cr: 24 display_facade = local_facade_factory.LocalFacadeFactory( 25 cr).create_display_facade() 26 27 displays = display_facade.get_display_info() 28 29 if len(displays) == 0: 30 raise error.TestError('No displays connected!') 31 32 edid = displays[0].edid 33 34 no_manufacturer = edid.manufacturer_id == None 35 no_year = edid.year_of_manufacture == None 36 no_product = edid.product_id == None 37 38 if no_manufacturer or no_year or no_product: 39 raise error.TestError( 40 'Incorrect edid, manufacturer: {}, year: {}, product: {}'.format( 41 edid.manufacturer_id, 42 edid.year_of_manufacture, 43 edid.product_id)) 44