Home | History | Annotate | Download | only in enterprise_CFM_PTZStress
      1 # Copyright 2016 The Chromium OS Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 from autotest_lib.server import utils
      6 from autotest_lib.client.common_lib.cros.cfm.usb import cfm_usb_devices
      7 
      8 AUTHOR = "denniswu (a] chromium.org"
      9 NAME = "enterprise_CFM_PTZStress.PTZPro2"
     10 TIME = "SHORT"
     11 TEST_CATEGORY = "Functional"
     12 TEST_CLASS = "enterprise"
     13 TEST_TYPE = "server"
     14 ATTRIBUTES = "suite:hotrod"
     15 DEPENDENCIES = "meet_app, ptzpro2"
     16 JOB_RETRIES = 1
     17 
     18 DOC = """
     19 Test scenario:
     20     1. Enroll the device and start a meeting.
     21     2. During meeting PTZ the camera according to the control file.
     22 Verify the following functionalities:
     23     1. Camera is enumerated.
     24     2. Verify PTZ signals are sent to the camera.
     25 """
     26 
     27 args_dict = utils.args_to_dict(args)
     28 
     29 test_config = {
     30     'camera': cfm_usb_devices.PTZ_PRO_2_CAMERA,
     31     'repeat': 10,
     32     'motion_duration': 2,
     33     'usb_trace_path': '/tmp/camera.mon.out'
     34 }
     35 
     36 ptz_motion_sequence = ['panLeft', 'panStop', 'tiltUp', 'tiltStop', 'zoomIn', 'resetPosition']
     37 
     38 servo_args = hosts.CrosHost.get_servo_arguments(args_dict)
     39 
     40 def run_test(machine):
     41     host = hosts.create_host(machine, servo_args=None)
     42     job.run_test('enterprise_CFM_PTZStress',
     43         host=host,
     44         test_config=test_config,
     45         ptz_motion_sequence=ptz_motion_sequence)
     46 
     47 parallel_simple(run_test, machines)
     48