diff options
Diffstat (limited to 'resources/tools/scripts/compare_perpatch.py')
-rw-r--r-- | resources/tools/scripts/compare_perpatch.py | 61 |
1 files changed, 28 insertions, 33 deletions
diff --git a/resources/tools/scripts/compare_perpatch.py b/resources/tools/scripts/compare_perpatch.py index 9c9bd20023..c2c165c76d 100644 --- a/resources/tools/scripts/compare_perpatch.py +++ b/resources/tools/scripts/compare_perpatch.py @@ -44,6 +44,7 @@ def hack(value_list): ret = tmp[3*eight:-eight] return tmp # ret + iteration = -1 parent_iterations = list() current_iterations = list() @@ -52,23 +53,25 @@ while 1: iteration += 1 parent_lines = list() current_lines = list() - filename = "csit_parent/{iter}/results.txt".format(iter=iteration) + filename = f"csit_parent/{iteration}/results.txt" try: with open(filename) as parent_file: parent_lines = parent_file.readlines() except IOError: break num_lines = len(parent_lines) - filename = "csit_current/{iter}/results.txt".format(iter=iteration) + filename = f"csit_current/{iteration}/results.txt" with open(filename) as current_file: current_lines = current_file.readlines() if num_lines != len(current_lines): - print "Number of tests does not match within iteration", iteration + print(f"Number of tests does not match within iteration {iteration}") sys.exit(1) if num_tests is None: num_tests = num_lines elif num_tests != num_lines: - print "Number of tests does not match previous at iteration", iteration + print( + f"Number of tests does not match previous at iteration {iteration}" + ) sys.exit(1) parent_iterations.append(parent_lines) current_iterations.append(current_lines) @@ -80,13 +83,13 @@ for test_index in range(num_tests): current_values = list() for iteration_index in range(len(parent_iterations)): parent_values.extend( - json.loads(parent_iterations[iteration_index][test_index])) + json.loads(parent_iterations[iteration_index][test_index]) + ) current_values.extend( - json.loads(current_iterations[iteration_index][test_index])) - print "Time-ordered MRR values for parent build: {p}".format( - p=parent_values) - print "Time-ordered MRR values for current build: {c}".format( - c=current_values) + json.loads(current_iterations[iteration_index][test_index]) + ) + print(f"Time-ordered MRR values for parent build: {parent_values}") + print(f"Time-ordered MRR values for current build: {current_values}") parent_values = hack(parent_values) current_values = hack(current_values) parent_max = BitCountingMetadataFactory.find_max_value(parent_values) @@ -97,35 +100,27 @@ for test_index in range(num_tests): current_factory = BitCountingMetadataFactory(val_max, parent_stats.avg) current_stats = current_factory.from_data(current_values) both_stats = factory.from_data(parent_values + current_values) - print "Value-ordered MRR values for parent build: {p}".format( - p=parent_values) - print "Value-ordered MRR values for current build: {c}".format( - c=current_values) + print(f"Value-ordered MRR values for parent build: {parent_values}") + print(f"Value-ordered MRR values for current build: {current_values}") difference = (current_stats.avg - parent_stats.avg) / parent_stats.avg - print "Difference of averages relative to parent: {d}%".format( - d=100 * difference) - print "Jumpavg representation of parent group: {p}".format( - p=parent_stats) - print "Jumpavg representation of current group: {c}".format( - c=current_stats) - print "Jumpavg representation of both as one group: {b}".format( - b=both_stats) + print(f"Difference of averages relative to parent: {100 * difference}%") + print(f"Jumpavg representation of parent group: {parent_stats}") + print(f"Jumpavg representation of current group: {current_stats}") + print(f"Jumpavg representation of both as one group: {both_stats}") bits = parent_stats.bits + current_stats.bits - both_stats.bits - compared = "longer" if bits >= 0 else "shorter" - print "Separate groups are {cmp} than single group by {bit} bits".format( - cmp=compared, bit=abs(bits)) + compared = u"longer" if bits >= 0 else u"shorter" + print( + f"Separate groups are {compared} than single group by {abs(bits)} bits" + ) classified_list = classifier.classify([parent_stats, current_stats]) if len(classified_list) < 2: - print "Test test_index {test_index}: normal (no anomaly)".format( - test_index=test_index) + print(f"Test test_index {test_index}: normal (no anomaly)") continue anomaly = classified_list[1].metadata.classification - if anomaly == "regression": - print "Test test_index {test_index}: anomaly regression".format( - test_index=test_index) + if anomaly == u"regression": + print(f"Test test_index {test_index}: anomaly regression") exit_code = 1 continue - print "Test test_index {test_index}: anomaly {anomaly}".format( - test_index=test_index, anomaly=anomaly) -print "Exit code {code}".format(code=exit_code) + print(f"Test test_index {test_index}: anomaly {anomaly}") +print(f"Exit code {exit_code}") sys.exit(exit_code) |