upload android base code part3
This commit is contained in:
parent
71b83c22f1
commit
b9e30e05b1
15122 changed files with 2089659 additions and 0 deletions
85
android/bionic/tools/versioner/run_tests.py
Executable file
85
android/bionic/tools/versioner/run_tests.py
Executable file
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env python2
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
red = '\033[91m'
|
||||
green = '\033[92m'
|
||||
bold = '\033[1m'
|
||||
reset = '\033[0m'
|
||||
prefix_pass = bold + "[" + green + "PASS" + reset + bold + "]" + reset
|
||||
prefix_fail = bold + "[" + red + "FAIL" + reset + bold + "]" + reset
|
||||
|
||||
|
||||
def indent(text, spaces=4):
|
||||
text = text.decode("utf-8")
|
||||
prefix = " "
|
||||
return "\n".join([prefix + line for line in text.split("\n")])
|
||||
|
||||
|
||||
def run_test(test_name, path):
|
||||
os.chdir(path)
|
||||
process = subprocess.Popen(
|
||||
["/bin/sh", "run.sh"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
(output, _) = process.communicate()
|
||||
|
||||
if os.path.exists("expected_fail"):
|
||||
with open("expected_fail", "rb") as f:
|
||||
expected_output = f.read()
|
||||
if process.returncode == 0:
|
||||
print("{} {}: unexpected success:".format(prefix_fail, test_name))
|
||||
print("")
|
||||
print(" Expected:")
|
||||
print(indent(expected_output))
|
||||
print(" Actual:")
|
||||
print(indent(output))
|
||||
return False
|
||||
elif not output.endswith(expected_output):
|
||||
print("{} {}: expected output mismatch".format(
|
||||
prefix_fail, test_name))
|
||||
print("")
|
||||
print(" Expected:")
|
||||
print(indent(expected_output))
|
||||
print(" Actual:")
|
||||
print(indent(output))
|
||||
return False
|
||||
elif process.returncode != 0:
|
||||
print("{} {}: unexpected failure:".format(prefix_fail, test_name))
|
||||
print("")
|
||||
print(indent(output))
|
||||
return False
|
||||
|
||||
print("{} {}".format(prefix_pass, test_name))
|
||||
return True
|
||||
|
||||
|
||||
def usage():
|
||||
print("Usage: run_tests.py [-f]")
|
||||
print(" -f\t\tdon't run slow tests")
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
root_dir = os.path.dirname(os.path.realpath(__file__))
|
||||
test_dir = os.path.join(root_dir, "tests")
|
||||
tests = os.listdir(test_dir)
|
||||
run_slow = True
|
||||
|
||||
if len(sys.argv) > 2:
|
||||
usage()
|
||||
elif len(sys.argv) == 2:
|
||||
if sys.argv[1] != "-f":
|
||||
usage()
|
||||
run_slow = False
|
||||
|
||||
success = True
|
||||
for test in sorted(tests):
|
||||
if test.startswith("slow") and not run_slow:
|
||||
continue
|
||||
path = os.path.join(test_dir, test)
|
||||
if not os.path.isdir(path):
|
||||
continue
|
||||
if not run_test(test, path):
|
||||
success = False
|
||||
|
||||
sys.exit(0 if success else 1)
|
Loading…
Add table
Add a link
Reference in a new issue