Merge change 24576 into eclair
* changes:
Add a script "accarm" for ad-hoc testing of the ARM acc compiler.
diff --git a/libacc/tests/accarm b/libacc/tests/accarm
new file mode 100755
index 0000000..6b1bf66
--- /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()
+
+