1# Copyright (c) 2011 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 5import logging, os, stat 6 7from autotest_lib.client.bin import test 8from autotest_lib.client.common_lib import error 9 10 11class cellular_GobiPorts(test.test): 12 version = 1 13 14 def run_once(self): 15 failed_ports = [] 16 17 ports = ['/dev/ttyUSB0', '/dev/ttyUSB1', '/dev/ttyUSB2'] 18 19 for port in ports: 20 if not os.path.exists(port): 21 failed_ports.append(port) 22 logging.error('Port %s does not exist.' % port) 23 continue 24 mode = os.stat(port).st_mode 25 if not stat.S_ISCHR(mode): 26 logging.error('Port %s is not a character device. mode = %s' % ( 27 port, mode)) 28 failed_ports.append(port) 29 continue 30 logging.info('Port %s is a character device.' % port) 31 32 if failed_ports: 33 raise error.TestFail('Ports [%s] are missing or not char devices' % 34 ', '.join(failed_ports)) 35