diff options
author | Peter Andersson <[email protected]> | 2014-06-03 15:17:37 +0200 |
---|---|---|
committer | Peter Andersson <[email protected]> | 2014-06-03 15:17:37 +0200 |
commit | 2b984e4ff1282ac5acd50b78ad51b5ec90e55368 (patch) | |
tree | f8695a9fc3b348ca157f30e2d3c5ace48c6e4035 /lib/common_test/src | |
parent | a4dac83e01f7f74ccad5ee1f81bdb12808e2d9e0 (diff) | |
download | otp-2b984e4ff1282ac5acd50b78ad51b5ec90e55368.tar.gz otp-2b984e4ff1282ac5acd50b78ad51b5ec90e55368.tar.bz2 otp-2b984e4ff1282ac5acd50b78ad51b5ec90e55368.zip |
Force CT log cache to rescan entries with incomplete results
Diffstat (limited to 'lib/common_test/src')
-rw-r--r-- | lib/common_test/src/ct_logs.erl | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/lib/common_test/src/ct_logs.erl b/lib/common_test/src/ct_logs.erl index a4ad65c0a4..7305328e92 100644 --- a/lib/common_test/src/ct_logs.erl +++ b/lib/common_test/src/ct_logs.erl @@ -1842,14 +1842,27 @@ dir_diff_all_runs(LogDirs=[Dir|Dirs], Cached=[CElem|CElems], LatestInCache, AllRunsDirs) -> DirDate = datestr_from_dirname(Dir), if DirDate > LatestInCache -> - %% Dir is a new run entry + %% Dir is a new run entry (not cached) dir_diff_all_runs(Dirs, Cached, LatestInCache, [Dir|AllRunsDirs]); DirDate == LatestInCache, CElems /= [] -> - %% Dir is an existing run entry + %% Dir is an existing (cached) run entry + + %% Only add the cached element instead of Dir if the totals + %% are "non-empty" (a test might be executing on a different + %% node and results haven't been saved yet) + ElemToAdd = + case CElem of + {_CDir,{_NodeStr,_Label,_Logs,{0,0,0,0,0}},_IxLink} -> + %% "empty" element in cache - this could be an + %% incomplete test and should be checked again + Dir; + _ -> + CElem + end, dir_diff_all_runs(Dirs, CElems, datestr_from_dirname(element(1,hd(CElems))), - [CElem|AllRunsDirs]); + [ElemToAdd|AllRunsDirs]); DirDate == LatestInCache, CElems == [] -> %% we're done, Dirs must all be new lists:reverse(Dirs)++[CElem|AllRunsDirs]; |