1bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius# Copyright 2014 The Chromium OS Authors. All rights reserved. 2bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius# Use of this source code is governed by a BSD-style license that can be 3bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius# found in the LICENSE file. 4bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 5bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusimport common 6bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusfrom autotest_lib.client.cros.cellular.mbim_compliance import mbim_constants 7bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusfrom autotest_lib.client.cros.cellular.mbim_compliance import mbim_errors 8bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusfrom autotest_lib.client.cros.cellular.mbim_compliance \ 9bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius import mbim_test_base 10bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusfrom autotest_lib.client.cros.cellular.mbim_compliance.sequences \ 11bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius import get_descriptors_sequence 12bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Piusfrom autotest_lib.client.cros.cellular.mbim_compliance.sequences \ 13bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius import mbim_open_generic_sequence 14bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 15bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 16b156e954bac846f170ee4320db53f996b4b0d868Roshan Piusclass cellular_MbimComplianceCM03(mbim_test_base.MbimTestBase): 17bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius """ 18bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius CM_03 Validation of Function's Behavior for an Unsynchronized MBIM_OPEN_MSG. 19bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 20b156e954bac846f170ee4320db53f996b4b0d868Roshan Pius This test validates function's behavior in case of an unsynchronized open 21b156e954bac846f170ee4320db53f996b4b0d868Roshan Pius operation. 22b156e954bac846f170ee4320db53f996b4b0d868Roshan Pius 23bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius Reference: 24bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius [1] Universal Serial Bus Communication Class MBIM Compliance Testing: 38 25bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius http://www.usb.org/developers/docs/devclass_docs/MBIM-Compliance-1.0.pdf 26bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius """ 27bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius version = 1 28bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 29bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius def run_internal(self): 30bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius """ Run CM_03 test. """ 31bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius # Precondition 32bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius descriptors = get_descriptors_sequence.GetDescriptorsSequence( 33bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius self.device_context).run() 34bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius self.device_context.update_descriptor_cache(descriptors) 35bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius mbim_open_generic_sequence.MBIMOpenGenericSequence( 36bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius self.device_context).run() 37bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 38bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius # Step 1 39bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius _, response_message = ( 40bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius mbim_open_generic_sequence.MBIMOpenGenericSequence( 41bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius self.device_context).run()) 42bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 43bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius # Validate function's behaviour for an unsynchronized MBIM_OPEN_MSG. 44bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius if response_message.message_type == mbim_constants.MBIM_CLOSE_DONE: 45bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius mbim_errors.log_and_raise(mbim_errors.MBIMComplianceAssertionError, 46bcd24e85deddeb1169ec34fcffbc7bee6303bd2cRoshan Pius 'mbim1.0:9.3.1#1') 47