in tcbot-engine/src/main/java/org/apache/ignite/tcbot/engine/chain/BuildChainProcessor.java [91:140]
public List<LrTestsSuiteSummaryUi> loadLongRunningTestsSummary(
ITeamcityIgnited teamcityIgnited,
Collection<Integer> entryPoints
) {
final List<LrTestsSuiteSummaryUi> res = new ArrayList<>();
SyncMode mode = SyncMode.RELOAD_QUEUED;
if (entryPoints.isEmpty())
return res;
Map<Integer, Future<FatBuildCompacted>> builds = loadAllBuildsInChains(entryPoints, mode, teamcityIgnited);
builds.values().stream().map(FutureUtil::getResult)
.filter(b -> !b.isComposite() && b.getTestsCount() > 0)
.forEach(b ->
{
List<LrTestUi> lrTests = new ArrayList<>();
b.getAllTests()
.filter(t -> {
Integer duration = t.getDuration();
return duration !=null && duration > 60 * 1000;
})
.forEach(
t -> lrTests
.add(new LrTestUi(t.testName(compactor), t.getDuration(), null))
);
if (!lrTests.isEmpty()) {
lrTests.sort((test0, test1) -> {
long t0 = test0.time;
long t1 = test1.time;
return Long.compare(t1, t0);
});
res.add(
new LrTestsSuiteSummaryUi(b.buildTypeName(compactor),
b.buildDuration(compactor) / b.getTestsCount(),
lrTests));
}
});
res.sort((s0, s1) -> Long.compare(s1.testAvgTime, s0.testAvgTime));
return res;
}