# 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 os from autotest_lib.server import autotest, test from autotest_lib.server.cros.multimedia import remote_facade_factory class camera_HAL3Server(test.test): """ Server side camera_HAL3 test for configure dummy image on chart tablet and run test on DUT. """ version = 1 DISPLAY_LEVEL = 96.0 SCENE_NAME = 'scene.pdf' BRIGHTNESS_CMD = 'backlight_tool --get_brightness_percent' SET_BRIGHTNESS_CMD = 'backlight_tool --set_brightness_percent=%s' def setup(self, chart_host): # prepare chart device self.chart_dir = chart_host.get_tmp_dir() logging.debug('chart_dir=%s', self.chart_dir) self.display_facade = remote_facade_factory.RemoteFacadeFactory( chart_host).create_display_facade() # set chart display brightness self.init_display_level = chart_host.run( self.BRIGHTNESS_CMD).stdout.rstrip() chart_host.run(self.SET_BRIGHTNESS_CMD % self.DISPLAY_LEVEL) # keep display always on chart_host.run('stop powerd', ignore_status=True) # scp scene to chart_host chart_host.send_file( os.path.join(self.bindir, 'files', self.SCENE_NAME), self.chart_dir) chart_host.run('chmod', args=('-R', '755', self.chart_dir)) # display scene self.display_facade.load_url( 'file://' + os.path.join(self.chart_dir, self.SCENE_NAME)) self.display_facade.set_fullscreen(True) def run_once(self, host, chart_host, **kwargs): autotest.Autotest(host).run_test('camera_HAL3', **kwargs) def cleanup(self, chart_host): # restore display default behavior chart_host.run('start powerd', ignore_status=True) chart_host.run(self.SET_BRIGHTNESS_CMD % self.init_display_level)