Changeset View
Changeset View
Standalone View
Standalone View
test/util/bitcoin-util-test.py
Show First 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | def bctester(testDir, input_basename, buildenv): | ||||
raw_data = open(input_filename, encoding="utf8").read() | raw_data = open(input_filename, encoding="utf8").read() | ||||
input_data = json.loads(raw_data) | input_data = json.loads(raw_data) | ||||
failed_testcases = [] | failed_testcases = [] | ||||
for testObj in input_data: | for testObj in input_data: | ||||
try: | try: | ||||
bctest(testDir, testObj, buildenv) | bctest(testDir, testObj, buildenv) | ||||
logging.info("PASSED: " + testObj["description"]) | except Exception: | ||||
except: | |||||
logging.info("FAILED: " + testObj["description"]) | logging.info("FAILED: " + testObj["description"]) | ||||
failed_testcases.append(testObj["description"]) | failed_testcases.append(testObj["description"]) | ||||
else: | |||||
logging.info("PASSED: " + testObj["description"]) | |||||
if failed_testcases: | if failed_testcases: | ||||
error_message = "FAILED_TESTCASES:\n" | error_message = "FAILED_TESTCASES:\n" | ||||
error_message += pprint.pformat(failed_testcases, width=400) | error_message += pprint.pformat(failed_testcases, width=400) | ||||
logging.error(error_message) | logging.error(error_message) | ||||
sys.exit(1) | sys.exit(1) | ||||
else: | else: | ||||
sys.exit(0) | sys.exit(0) | ||||
Show All 25 Lines | def bctest(testDir, testObj, buildenv): | ||||
outputType = None | outputType = None | ||||
if "output_cmp" in testObj: | if "output_cmp" in testObj: | ||||
outputFn = testObj['output_cmp'] | outputFn = testObj['output_cmp'] | ||||
# output type from file extension (determines how to compare) | # output type from file extension (determines how to compare) | ||||
outputType = os.path.splitext(outputFn)[1][1:] | outputType = os.path.splitext(outputFn)[1][1:] | ||||
try: | try: | ||||
outputData = open(os.path.join(testDir, outputFn), | outputData = open(os.path.join(testDir, outputFn), | ||||
encoding="utf8").read() | encoding="utf8").read() | ||||
except: | except OSError: | ||||
logging.error("Output file " + outputFn + " can not be opened") | logging.error("Output file " + outputFn + " can not be opened") | ||||
raise | raise | ||||
if not outputData: | if not outputData: | ||||
logging.error("Output data missing for " + outputFn) | logging.error("Output data missing for " + outputFn) | ||||
raise Exception | raise Exception | ||||
if not outputType: | if not outputType: | ||||
logging.error( | logging.error( | ||||
"Output file {} does not have a file extension".format(outputFn)) | "Output file {} does not have a file extension".format(outputFn)) | ||||
▲ Show 20 Lines • Show All 80 Lines • Show Last 20 Lines |