70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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()
 | |
| 
 | |
| 
 | 
