diff options
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.74.0/emscripten/test/run_tests.py')
-rwxr-xr-x | debian/uncrustify-trinity/uncrustify-trinity-0.74.0/emscripten/test/run_tests.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/emscripten/test/run_tests.py b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/emscripten/test/run_tests.py new file mode 100755 index 00000000..c7a4fcae --- /dev/null +++ b/debian/uncrustify-trinity/uncrustify-trinity-0.74.0/emscripten/test/run_tests.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python +# +# Rebuilds the version using git describe +# +import sys +from subprocess import Popen +from os import listdir, EX_OK, EX_USAGE, EX_SOFTWARE +from os.path import isfile, isdir, abspath, basename +from tempfile import NamedTemporaryFile +from glob import glob + + +def main(args): + if len(args) < 2 or not isfile(args[0]) or not isdir(args[1]): + print("Usage:") + print(" arg 1: libUncrustify.js file path") + print(" arg 2: test directory path") + return EX_USAGE + + c_red = '\033[31m' + c_green = '\033[32m' + c_end = '\033[0m' + + js_file_path = args[0] + passed = 0 + total = 0 + + test_files_dir = abspath(args[1]) + test_files = glob(test_files_dir+"/test_*.js") + temp_file = NamedTemporaryFile(delete=True) + + for test_file_path in test_files: + total += 1 + pt_strg = "Testing %s: " % basename(test_file_path) + pt_strg_len = len(pt_strg) + + sys.stdout.write(pt_strg) + + with open(temp_file.name, 'r+') as t: + process = Popen(["node", test_file_path, js_file_path], stderr=t, stdout=t) + process.wait() + + if process.returncode == 0: + print(("%spassed.%s" % (c_green, c_end)).rjust(86-pt_strg_len)) + passed += 1 + else: + print(("%sfailed!%s" % (c_red, c_end)).rjust(78-pt_strg_len)) + + t.seek(0) + text = t.read() + print(text) + + if total == 0: + print("%sError%s: no test files found in %s" % (c_red, c_end, test_files_dir)) + return EX_USAGE + + print('-' * 80) + + if passed == total: + print("%sAll %s tests passed%s" % (c_green, total, c_end)) + return EX_OK + else: + print("%sWarning%s: %s/%s tests passed" % (c_red, c_end, passed, total)) + return EX_SOFTWARE + +if __name__ == '__main__': + exit(main(sys.argv[1:])) |