import string
import os
import json
import sys
import imp
import os.path
import traceback
sys.dont_write_bytecode = True
import KernelCollection
if __name__ == "__main__":
test_dir = os.path.realpath(os.path.dirname(__file__))
sys.path.append(test_dir)
all_tests = os.listdir(test_dir)
all_tests.sort()
test_to_run = ""
if len(sys.argv) == 2:
test_to_run = sys.argv[1]
all_tests = [ test_to_run ]
for f in all_tests:
test_case = test_dir + "/" + f + "/test.py"
if os.path.isfile(test_case):
py_mod = imp.load_source(f, test_case)
check_func = getattr(py_mod, "check", 0)
if check_func == 0:
print "FAIL: " + f + ", missing check() function";
else:
try:
kernelCollection = KernelCollection.KernelCollection(test_to_run != "")
check_func(kernelCollection)
print "PASS: " + f
except AssertionError, e:
_, _, tb = sys.exc_info()
tb_info = traceback.extract_tb(tb)
filename, line, func, text = tb_info[-1]
print "FAIL: " + f + ", " + text
except KeyError, e:
_, _, tb = sys.exc_info()
tb_info = traceback.extract_tb(tb)
filename, line, func, text = tb_info[-1]
print "FAIL: " + f + ", " + text