From bb3e9c181480537fed32c6bba83fd1807de70e16 Mon Sep 17 00:00:00 2001 From: Jack Palevich Date: Thu, 10 Sep 2009 12:45:31 -0700 Subject: [PATCH] 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. --- libacc/tests/accarm | 69 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100755 libacc/tests/accarm diff --git a/libacc/tests/accarm b/libacc/tests/accarm new file mode 100755 index 000000000..6b1bf663f --- /dev/null +++ b/libacc/tests/accarm @@ -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() + +