Index: utils/compare.py =================================================================== --- utils/compare.py +++ utils/compare.py @@ -25,6 +25,9 @@ print("%s: Could not find toplevel 'tests' key") sys.exit(1) for test in jsondata['tests']: + if "metrics" not in test: + print("Warning: '%s' has no metrics, skipping!" % test['name']) + continue name = test.get("name") if name is None: sys.stderr.write("Error: Found unnamed test\n" % name) @@ -33,9 +36,6 @@ sys.stderr.write("Error: Multiple tests with name '%s'\n" % name) sys.exit(1) names.add(name) - if "metrics" not in test: - print("Warning: '%s' has No metrics!" % test['name']) - continue for name in test["metrics"].keys(): if name not in columnindexes: columnindexes[name] = len(columns) @@ -50,15 +50,16 @@ data = [] testnames = [] for test in jsondata['tests']: + if "metrics" not in test: + continue name = test['name'] if 'shortname' in test: name = test['shortname'] testnames.append(name) datarow = [nan] * len(columns) - if "metrics" in test: - for (metricname, value) in test['metrics'].items(): - datarow[columnindexes[metricname]] = value + for (metricname, value) in test['metrics'].items(): + datarow[columnindexes[metricname]] = value for (name, value) in test.items(): index = columnindexes.get(name) if index is not None: