1*c8dee2aaSAndroid Build Coastguard Worker#!/usr/bin/env python 2*c8dee2aaSAndroid Build Coastguard Worker# 3*c8dee2aaSAndroid Build Coastguard Worker# Copyright 2016 Google Inc. 4*c8dee2aaSAndroid Build Coastguard Worker# 5*c8dee2aaSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 6*c8dee2aaSAndroid Build Coastguard Worker# found in the LICENSE file. 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Workerimport os 9*c8dee2aaSAndroid Build Coastguard Workerimport subprocess 10*c8dee2aaSAndroid Build Coastguard Workerimport sys 11*c8dee2aaSAndroid Build Coastguard Worker 12*c8dee2aaSAndroid Build Coastguard Workerhost, serial, stamp = sys.argv[1:] 13*c8dee2aaSAndroid Build Coastguard Workerdevice = '/data/local/tmp/' + os.path.basename(host) 14*c8dee2aaSAndroid Build Coastguard Worker 15*c8dee2aaSAndroid Build Coastguard Workerrestrict = [] if serial == 'auto' else ['-s', serial] 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker# adb push is verbose, so eat its output with check_output(). 18*c8dee2aaSAndroid Build Coastguard Workersubprocess.check_output(['adb'] + restrict + ['push', host, device]) 19*c8dee2aaSAndroid Build Coastguard Workersubprocess.check_call(['adb'] + restrict + ['shell', 'chmod', '+x', device]) 20*c8dee2aaSAndroid Build Coastguard Worker 21*c8dee2aaSAndroid Build Coastguard Worker# Touch a file to let GN/Ninja know we succeeded. 22*c8dee2aaSAndroid Build Coastguard Workerwith open(stamp, 'w'): 23*c8dee2aaSAndroid Build Coastguard Worker pass 24