1# Lint as: python2, python3 2# Copyright 2014 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 6"""This is a server-side test to check the Chameleon connection.""" 7 8import logging 9 10from autotest_lib.client.common_lib import error 11from autotest_lib.client.cros.chameleon import chameleon_port_finder 12from autotest_lib.server import test 13from autotest_lib.server.cros.multimedia import remote_facade_factory 14 15 16class display_ServerChameleonConnection(test.test): 17 """Chameleon connection server test. 18 19 This test talks to a Chameleon board from DUT. Try to plug the Chameleon 20 ports and see if DUT detects them. 21 """ 22 version = 1 23 24 def run_once(self, host): 25 factory = remote_facade_factory.RemoteFacadeFactory(host) 26 display_facade = factory.create_display_facade() 27 chameleon_board = host.chameleon 28 29 chameleon_board.setup_and_reset(self.outputdir) 30 31 finder = chameleon_port_finder.ChameleonVideoInputFinder( 32 chameleon_board, display_facade) 33 ports = finder.find_all_ports() 34 35 connected_ports = ports.connected 36 dut_failed_ports = ports.failed 37 38 msg = str(finder) 39 logging.debug(msg) 40 41 if dut_failed_ports or not connected_ports: 42 raise error.TestFail(msg) 43