Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 6 additions & 20 deletions tools/Python/mctest/mcviewtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import math
import sys
import os
from os.path import join, dirname, isdir
from os.path import join, dirname
from os import walk
import shutil
import concurrent.futures
Expand Down Expand Up @@ -54,19 +54,14 @@ def ok(v, e):
return insigma if targeterr is not None else (within20 or insigma)

def scantree(path):
"""Recursively yield DirEntry objects for given directory."""
"""Yield DirEntry objects for complete test label dirs, i.e. holding testresults_<label>.json."""
for entry in os.scandir(path):
if entry.is_dir(follow_symlinks=True):
if entry.is_dir() and os.path.isfile(join(entry.path, "testresults_%s.json" % entry.name)):
yield entry

def get_oldest_dir(directory_name):
files = []

for file in scantree(directory_name):
files.append((file.stat().st_mtime, file.path))

files.sort(key=lambda x:x[0])
return files[0][1]
files = [(e.stat().st_mtime, e.path) for e in scantree(directory_name)]
return min(files)[1] if files else None

def get_default_diffworkers():
''' Number of mcplotdiff-html comparisons to run in parallel by default:
Expand Down Expand Up @@ -403,16 +398,7 @@ def iterate_obj_to_populate_rows(iterobj, otherobjs, rows, ncols, use_iterobj_re
row.append(get_empty_cell_tuple("not on branch"))

# load test data
alllabels = list()
for root, labels, files in walk(testdir):
for lab in labels:
if isdir(lab):
try:
obj = json.loads(open(join(testdir, lab, "testresults_%s.json" % lab)).read())
alllabels.append(lab)
except:
pass
alllabels.sort()
alllabels = sorted(e.name for e in scantree(testdir))
# get number of data columns
numcols= len(alllabels)

Expand Down
Loading