Skip to content

Commit 3249aa8

Browse files
authored
Made test failures not fail the package build. (CP of #8121) (#8130)
1 parent 317bacf commit 3249aa8

2 files changed

Lines changed: 20 additions & 18 deletions

File tree

toolkit/tools/scheduler/schedulerutils/graphbuildstate.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -194,8 +194,8 @@ func (g *GraphBuildState) RecordBuildResult(res *BuildResult, allowToolchainRebu
194194

195195
delete(g.activeBuilds, res.Node.ID())
196196

197-
failure := (res.Err != nil) || res.CheckFailed
198-
if failure {
197+
available := res.Err == nil
198+
if !available || res.CheckFailed {
199199
g.failures = append(g.failures, res)
200200
}
201201

@@ -209,7 +209,7 @@ func (g *GraphBuildState) RecordBuildResult(res *BuildResult, allowToolchainRebu
209209
}
210210

211211
state := &nodeState{
212-
available: !failure,
212+
available: available,
213213
cached: res.UsedCache,
214214
usedDelta: res.WasDelta,
215215
freshness: freshness,

toolkit/tools/scheduler/schedulerutils/printresults.go

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func RecordBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, b
5959
failedSRPMs, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, blockedSRPMs := getSRPMsState(pkgGraph, buildState)
6060
failedBuildNodes := buildResultsSetToNodesSet(failedSRPMs)
6161

62-
failedSRPMsTests, _, testedSRPMs, blockedSRPMsTests := getSRPMsTestsState(pkgGraph, buildState)
62+
failedSRPMsTests, _, passedSRPMsTests, blockedSRPMsTests := getSRPMsTestsState(pkgGraph, buildState)
6363
failedTestNodes := buildResultsSetToNodesSet(failedSRPMsTests)
6464

6565
csvBlob := [][]string{{"Package", "State", "Blocker", "IsTest"}}
@@ -71,7 +71,7 @@ func RecordBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, b
7171
csvBlob = append(csvBlob, unbuiltPackagesCSVRows(pkgGraph, failedBuildNodes, failedBuildNodes, blockedSRPMs, false)...)
7272
csvBlob = append(csvBlob, unbuiltPackagesCSVRows(pkgGraph, blockedSRPMs, failedBuildNodes, blockedSRPMs, false)...)
7373

74-
csvBlob = append(csvBlob, successfulPackagesCSVRows(testedSRPMs, "Built", true)...)
74+
csvBlob = append(csvBlob, successfulPackagesCSVRows(passedSRPMsTests, "Built", true)...)
7575
csvBlob = append(csvBlob, unbuiltPackagesCSVRows(pkgGraph, failedTestNodes, failedTestNodes, blockedSRPMsTests, true)...)
7676
csvBlob = append(csvBlob, unbuiltPackagesCSVRows(pkgGraph, blockedSRPMsTests, failedTestNodes, blockedSRPMsTests, true)...)
7777

@@ -95,7 +95,7 @@ func PrintBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, bu
9595
defer graphMutex.RUnlock()
9696

9797
failedSRPMs, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, blockedSRPMs := getSRPMsState(pkgGraph, buildState)
98-
failedSRPMsTests, skippedSRPMsTests, testedSRPMs, blockedSRPMsTests := getSRPMsTestsState(pkgGraph, buildState)
98+
failedSRPMsTests, skippedSRPMsTests, passedSRPMsTests, blockedSRPMsTests := getSRPMsTestsState(pkgGraph, buildState)
9999

100100
unresolvedDependencies := make(map[string]bool)
101101
rpmConflicts := buildState.ConflictingRPMs()
@@ -112,7 +112,7 @@ func PrintBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, bu
112112
}
113113
}
114114

115-
printSummary(failedSRPMs, failedSRPMsTests, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, testedSRPMs, skippedSRPMsTests, unresolvedDependencies, blockedSRPMs, blockedSRPMsTests, rpmConflicts, srpmConflicts, allowToolchainRebuilds, conflictsLogger)
115+
printSummary(failedSRPMs, failedSRPMsTests, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, passedSRPMsTests, skippedSRPMsTests, unresolvedDependencies, blockedSRPMs, blockedSRPMsTests, rpmConflicts, srpmConflicts, allowToolchainRebuilds, conflictsLogger)
116116

117117
if len(prebuiltSRPMs) != 0 {
118118
logger.Log.Info(color.GreenString("Prebuilt SRPMs:"))
@@ -146,9 +146,9 @@ func PrintBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, bu
146146
}
147147
}
148148

149-
if len(testedSRPMs) != 0 {
149+
if len(passedSRPMsTests) != 0 {
150150
logger.Log.Info(color.GreenString("Passed SRPMs tests:"))
151-
keys := mapToSortedSlice(testedSRPMs)
151+
keys := mapToSortedSlice(passedSRPMsTests)
152152
for _, testedSRPM := range keys {
153153
logger.Log.Infof("--> %s", filepath.Base(testedSRPM))
154154
}
@@ -212,7 +212,7 @@ func PrintBuildSummary(pkgGraph *pkggraph.PkgGraph, graphMutex *sync.RWMutex, bu
212212
}
213213
}
214214

215-
printSummary(failedSRPMs, failedSRPMsTests, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, testedSRPMs, skippedSRPMsTests, unresolvedDependencies, blockedSRPMs, blockedSRPMsTests, rpmConflicts, srpmConflicts, allowToolchainRebuilds, conflictsLogger)
215+
printSummary(failedSRPMs, failedSRPMsTests, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, passedSRPMsTests, skippedSRPMsTests, unresolvedDependencies, blockedSRPMs, blockedSRPMsTests, rpmConflicts, srpmConflicts, allowToolchainRebuilds, conflictsLogger)
216216
}
217217

218218
func buildResultsSetToNodesSet(statesSet map[string]*BuildResult) (result map[string]*pkggraph.PkgNode) {
@@ -261,10 +261,10 @@ func getSRPMsState(pkgGraph *pkggraph.PkgGraph, buildState *GraphBuildState) (fa
261261
return
262262
}
263263

264-
func getSRPMsTestsState(pkgGraph *pkggraph.PkgGraph, buildState *GraphBuildState) (failedSRPMsTests map[string]*BuildResult, skippedSRPMsTests, testedSRPMs map[string]bool, blockedSRPMsTests map[string]*pkggraph.PkgNode) {
264+
func getSRPMsTestsState(pkgGraph *pkggraph.PkgGraph, buildState *GraphBuildState) (failedSRPMsTests map[string]*BuildResult, skippedSRPMsTests, passedSRPMsTests map[string]bool, blockedSRPMsTests map[string]*pkggraph.PkgNode) {
265265
failedSRPMsTests = make(map[string]*BuildResult)
266266
skippedSRPMsTests = make(map[string]bool)
267-
testedSRPMs = make(map[string]bool)
267+
passedSRPMsTests = make(map[string]bool)
268268
blockedSRPMsTests = make(map[string]*pkggraph.PkgNode)
269269

270270
for _, failure := range buildState.BuildFailures() {
@@ -277,13 +277,15 @@ func getSRPMsTestsState(pkgGraph *pkggraph.PkgGraph, buildState *GraphBuildState
277277
if buildState.IsNodeCached(node) {
278278
skippedSRPMsTests[node.SrpmPath] = true
279279
continue
280-
} else if buildState.IsNodeAvailable(node) {
281-
testedSRPMs[node.SrpmPath] = true
280+
}
281+
282+
if _, testFailed := failedSRPMsTests[node.SrpmPath]; testFailed {
282283
continue
283284
}
284285

285-
_, found := failedSRPMsTests[node.SrpmPath]
286-
if !found {
286+
if buildState.IsNodeAvailable(node) {
287+
passedSRPMsTests[node.SrpmPath] = true
288+
} else {
287289
blockedSRPMsTests[node.SrpmPath] = node
288290
}
289291
}
@@ -337,7 +339,7 @@ func unbuiltPackagesCSVRows(pkgGraph *pkggraph.PkgGraph, unbuiltPackages, failed
337339
}
338340

339341
// printSummary prints summarized numbers of the build to the logger.
340-
func printSummary(failedSRPMs, failedSRPMsTests map[string]*BuildResult, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, testedSRPMs, skippedSRPMsTests, unresolvedDependencies map[string]bool, blockedSRPMs, blockedSRPMsTests map[string]*pkggraph.PkgNode, rpmConflicts, srpmConflicts []string, allowToolchainRebuilds bool, conflictsLogger func(format string, args ...interface{})) {
342+
func printSummary(failedSRPMs, failedSRPMsTests map[string]*BuildResult, prebuiltSRPMs, prebuiltDeltaSRPMs, builtSRPMs, passedSRPMsTests, skippedSRPMsTests, unresolvedDependencies map[string]bool, blockedSRPMs, blockedSRPMsTests map[string]*pkggraph.PkgNode, rpmConflicts, srpmConflicts []string, allowToolchainRebuilds bool, conflictsLogger func(format string, args ...interface{})) {
341343
logger.Log.Info("---------------------------")
342344
logger.Log.Info("--------- Summary ---------")
343345
logger.Log.Info("---------------------------")
@@ -346,7 +348,7 @@ func printSummary(failedSRPMs, failedSRPMsTests map[string]*BuildResult, prebuil
346348
logger.Log.Infof(color.GreenString(summaryLine("Number of prebuilt delta SRPMs:", len(prebuiltDeltaSRPMs))))
347349
logger.Log.Infof(color.GreenString(summaryLine("Number of skipped SRPMs tests:", len(skippedSRPMsTests))))
348350
logger.Log.Infof(color.GreenString(summaryLine("Number of built SRPMs:", len(builtSRPMs))))
349-
logger.Log.Infof(color.GreenString(summaryLine("Number of passed SRPMs tests:", len(testedSRPMs))))
351+
logger.Log.Infof(color.GreenString(summaryLine("Number of passed SRPMs tests:", len(passedSRPMsTests))))
350352
printErrorInfoByCondition(len(unresolvedDependencies) > 0, summaryLine("Number of unresolved dependencies:", len(unresolvedDependencies)))
351353
printErrorInfoByCondition(len(blockedSRPMs) > 0, summaryLine("Number of blocked SRPMs:", len(blockedSRPMs)))
352354
printErrorInfoByCondition(len(blockedSRPMsTests) > 0, summaryLine("Number of blocked SRPMs tests:", len(blockedSRPMsTests)))

0 commit comments

Comments
 (0)