package main import ( "fmt" "os" "strings" ) func init() { register(Check{ Seq: 31, ID: "3b", Title: "Orchestrator backend tests", Run: func(ctx *ScanContext, rep *Reporter) { // Check 3b: Orchestrator backend tests fmt.Println("=== Check 3b: Orchestrator backend tests ===") var orchestratorTestTargets []goTestTarget if ctx.orchestratorOnly { orchestratorTestTargets = discoverOrchestratorTestTargetsFromRoot(orchestratorRepoRoot()) } else { orchestratorTestTargets = discoverOrchestratorTestTargets(ctx.repoRoot, ctx.backendDir, ctx.includeCoreTargets) } if len(orchestratorTestTargets) > 0 { completedOrchestratorTargets, orchestratorFailures, orchestratorErr := runGoTestTargets(orchestratorTestTargets) if orchestratorErr != nil { fmt.Printf(" ERROR: failed to run orchestrator tests: %v\n", orchestratorErr) os.Exit(2) } if len(orchestratorFailures) > 0 { fmt.Printf(" FAIL: %d orchestrator test target(s) failed:\n", len(orchestratorFailures)) for _, failure := range orchestratorFailures { fmt.Printf(" [%s] %s\n", failure.stage, failure.target) if failure.output != "" { for line := range strings.SplitSeq(failure.output, "\n") { fmt.Printf(" %s\n", line) } } } rep.Fail() } else { fmt.Printf(" OK: Orchestrator tests clean for %d target(s)\n", len(completedOrchestratorTargets)) for _, target := range completedOrchestratorTargets { fmt.Printf(" - %s\n", target) } } } else { fmt.Println(" SKIP: orchestrator backend not found or not part of this scan") } fmt.Println() }, }) }