Add a script "accarm" for ad-hoc testing of the ARM acc compiler.

This script copies the test file over to the ARM, runs the acc compiler
on ARM, and then prints out the results.

It also syncs the acc compiler binary over to the ARM.
This commit is contained in:
Jack Palevich 2009-09-10 12:45:31 -07:00
parent d30a2ce244
commit bb3e9c1814
1 changed files with 69 additions and 0 deletions

69
libacc/tests/accarm Executable file
View File

@ -0,0 +1,69 @@
#!/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()