13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry# -*- coding: utf-8 -*- 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport sys 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport os 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport time 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport string 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyryimport common 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 107e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulosdef install (extraArgs = []): 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry curDir = os.getcwd() 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry try: 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry os.chdir(common.ANDROID_DIR) 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry print "Removing old dEQP Package..." 167e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos common.execArgs([common.ADB_BIN] + extraArgs + [ 177e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 'uninstall', 187e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 'com.drawelements.deqp' 197e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos ]) 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry print "" 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry print "Installing dEQP Package..." 237e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos common.execArgs([common.ADB_BIN] + extraArgs + [ 247e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 'install', 257e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos '-r', 267e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 'package/bin/dEQP-debug.apk' 277e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos ]) 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry print "" 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry finally: 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyry # Restore working dir 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry os.chdir(curDir) 337e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 347e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulosdef installToDevice (device): 357e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos print "Installing to %s (%s)..." % (device.serial, device.model) 367e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos install(['-s', device.serial]) 377e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 387e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulosdef installToAllDevices (): 397e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos devices = common.getDevices(common.ADB_BIN) 407e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos for device in devices: 417e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos installToDevice(device) 427e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 433c827367444ee418f129b2c238299f49d3264554Jarkko Poyryif __name__ == "__main__": 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry if len(sys.argv) > 1: 457e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos if sys.argv[1] == '-a': 467e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos installToAllDevices() 477e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos else: 487e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos install(sys.argv[1:]) 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry else: 507e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos devices = common.getDevices(common.ADB_BIN) 517e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos if len(devices) == 0: 527e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos common.die('No devices connected') 537e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos elif len(devices) == 1: 547e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos installToDevice(devices[0]) 557e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos else: 567e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos print "More than one device connected:" 577e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos for i in range(0, len(devices)): 587e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos print "%3d: %16s %s" % ((i+1), devices[i].serial, devices[i].model) 597e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos 607e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos deviceNdx = int(raw_input("Choose device (1-%d): " % len(devices))) 617e01a414adc237914552ab970ab3c8c81a8ff799Pyry Haulos installToDevice(devices[deviceNdx-1]) 62