diff --git a/scripts/code.py b/scripts/code.py index ba7dc528..6769cbd8 100755 --- a/scripts/code.py +++ b/scripts/code.py @@ -525,6 +525,9 @@ def main(obj_paths, *, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('code_'+k in r and r['code_'+k].strip() + for k in CodeResult._fields): + continue try: results.append(CodeResult( **{k: r[k] for k in CodeResult._by @@ -566,6 +569,9 @@ def main(obj_paths, *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('code_'+k in r and r['code_'+k].strip() + for k in CodeResult._fields): + continue try: diff_results.append(CodeResult( **{k: r[k] for k in CodeResult._by diff --git a/scripts/cov.py b/scripts/cov.py index dd12f05d..e6a7d632 100755 --- a/scripts/cov.py +++ b/scripts/cov.py @@ -596,6 +596,9 @@ def main(gcda_paths, *, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('cov_'+k in r and r['cov_'+k].strip() + for k in CovResult._fields): + continue try: results.append(CovResult( **{k: r[k] for k in CovResult._by @@ -639,6 +642,9 @@ def main(gcda_paths, *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('cov_'+k in r and r['cov_'+k].strip() + for k in CovResult._fields): + continue try: diff_results.append(CovResult( **{k: r[k] for k in CovResult._by diff --git a/scripts/data.py b/scripts/data.py index 37d70c94..102059b4 100755 --- a/scripts/data.py +++ b/scripts/data.py @@ -566,6 +566,9 @@ def main(obj_paths, *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('data_'+k in r and r['data_'+k].strip() + for k in DataResult._fields): + continue try: diff_results.append(DataResult( **{k: r[k] for k in DataResult._by diff --git a/scripts/perf.py b/scripts/perf.py index 863805fe..b6448580 100755 --- a/scripts/perf.py +++ b/scripts/perf.py @@ -1032,6 +1032,9 @@ def report(perf_paths, *, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('perf_'+k in r and r['perf_'+k].strip() + for k in PerfResult._fields): + continue try: results.append(PerfResult( **{k: r[k] for k in PerfResult._by @@ -1073,6 +1076,9 @@ def report(perf_paths, *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('perf_'+k in r and r['perf_'+k].strip() + for k in PerfResult._fields): + continue try: diff_results.append(PerfResult( **{k: r[k] for k in PerfResult._by diff --git a/scripts/perfbd.py b/scripts/perfbd.py index 7320da60..3a43101b 100755 --- a/scripts/perfbd.py +++ b/scripts/perfbd.py @@ -1012,6 +1012,9 @@ def report(obj_path='', trace_paths=[], *, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('perfbd_'+k in r and r['perfbd_'+k].strip() + for k in PerfBdResult._fields): + continue try: results.append(PerfBdResult( **{k: r[k] for k in PerfBdResult._by @@ -1053,6 +1056,9 @@ def report(obj_path='', trace_paths=[], *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('perfbd_'+k in r and r['perfbd_'+k].strip() + for k in PerfBdResult._fields): + continue try: diff_results.append(PerfBdResult( **{k: r[k] for k in PerfBdResult._by diff --git a/scripts/stack.py b/scripts/stack.py index b455c824..cc78fe11 100755 --- a/scripts/stack.py +++ b/scripts/stack.py @@ -550,6 +550,9 @@ def main(ci_paths, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('stack_'+k in r and r['stack_'+k].strip() + for k in StackResult._fields): + continue try: results.append(StackResult( **{k: r[k] for k in StackResult._by @@ -591,6 +594,9 @@ def main(ci_paths, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('stack_'+k in r and r['stack_'+k].strip() + for k in StackResult._fields): + continue try: diff_results.append(StackResult( **{k: r[k] for k in StackResult._by diff --git a/scripts/struct_.py b/scripts/struct_.py index bea1b315..8897db6f 100755 --- a/scripts/struct_.py +++ b/scripts/struct_.py @@ -473,6 +473,9 @@ def main(obj_paths, *, with openio(args['use']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('struct_'+k in r and r['struct_'+k].strip() + for k in StructResult._fields): + continue try: results.append(StructResult( **{k: r[k] for k in StructResult._by @@ -516,6 +519,9 @@ def main(obj_paths, *, with openio(args['diff']) as f: reader = csv.DictReader(f, restval='') for r in reader: + if not any('struct_'+k in r and r['struct_'+k].strip() + for k in StructResult._fields): + continue try: diff_results.append(StructResult( **{k: r[k] for k in StructResult._by diff --git a/scripts/summary.py b/scripts/summary.py index a0be3a8d..3d1e2263 100755 --- a/scripts/summary.py +++ b/scripts/summary.py @@ -311,7 +311,7 @@ def infer(results, *, # create result class def __new__(cls, **r): return cls.__mro__[1].__new__(cls, - **{k: r.get(k) for k in by}, + **{k: r.get(k, '') for k in by}, **{k: r[k] if k in r and isinstance(r[k], list) else [types[k](r[k])] if k in r else [] @@ -631,6 +631,9 @@ def main(csv_paths, *, renames=renames) results_ = [] for r in results: + if not any(k in r and r[k].strip() + for k in Result._fields): + continue try: results_.append(Result(**{ k: r[k] for k in Result._by + Result._fields @@ -676,6 +679,9 @@ def main(csv_paths, *, r_[new_k] = r[old_k] r.update(r_) + if not any(k in r and r[k].strip() + for k in Result._fields): + continue try: diff_results.append(Result(**{ k: r[k] for k in Result._by + Result._fields