70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
|
#!/usr/bin/python
|
||
|
#
|
||
|
# Run a test on the ARM version of acc.
|
||
|
|
||
|
import unittest
|
||
|
import subprocess
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
def compile(args):
|
||
|
proc = subprocess.Popen(["acc"] + args, stderr=subprocess.PIPE, stdout=subprocess.PIPE)
|
||
|
result = proc.communicate()
|
||
|
return result
|
||
|
|
||
|
def runCmd(args):
|
||
|
proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||
|
result = proc.communicate()
|
||
|
return result[0].strip()
|
||
|
|
||
|
def uname():
|
||
|
return runCmd(["uname"])
|
||
|
|
||
|
def unameM():
|
||
|
return runCmd(["uname", "-m"])
|
||
|
|
||
|
def which(item):
|
||
|
return runCmd(["which", item])
|
||
|
|
||
|
def adb(args):
|
||
|
return runCmd(["adb"] + args)
|
||
|
|
||
|
def setupArm(file):
|
||
|
print "Setting up arm"
|
||
|
adb(["remount"])
|
||
|
adb(["shell", "rm", "/system/bin/acc"])
|
||
|
adb(["shell", "mkdir", "/system/bin/accdata"])
|
||
|
adb(["shell", "mkdir", "/system/bin/accdata/data"])
|
||
|
|
||
|
remoteFileName = os.path.join("/system/bin/accdata", file)
|
||
|
adb(["push", file, remoteFileName])
|
||
|
|
||
|
# Copy over compiler
|
||
|
adb(["sync"])
|
||
|
return remoteFileName
|
||
|
|
||
|
def compileArm(args):
|
||
|
remoteArgs = []
|
||
|
fileName = ""
|
||
|
for arg in sys.argv[1:]:
|
||
|
if arg.startswith('-'):
|
||
|
remoteArgs.append(arg)
|
||
|
else:
|
||
|
fileName = arg
|
||
|
|
||
|
remoteFileName = setupArm(fileName)
|
||
|
remoteArgs.append(remoteFileName)
|
||
|
remoteCmdLine = ["adb", "shell", "/system/bin/acc"] + remoteArgs
|
||
|
proc = subprocess.Popen(remoteCmdLine, stdout=subprocess.PIPE)
|
||
|
result = proc.communicate()
|
||
|
return result[0].replace("\r","")
|
||
|
|
||
|
|
||
|
def main():
|
||
|
print compileArm(sys.argv[1:])
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
main()
|
||
|
|
||
|
|