@@ -8,11 +8,16 @@ import (
8
8
"os"
9
9
)
10
10
11
+ var buildFailed bool
12
+
11
13
func main () {
12
14
var outputFile string
13
15
var verbose bool
16
+ var quiet bool
14
17
flag .BoolVar (& verbose , "verbose" , false , "Enable verbose output" )
15
18
flag .BoolVar (& verbose , "v" , false , "Enable verbose output (shorthand)" )
19
+ flag .BoolVar (& quiet , "quiet" , false , "Disable all log output" )
20
+ flag .BoolVar (& quiet , "q" , false , "Disable all log output (shorthand)" )
16
21
flag .StringVar (& outputFile , "output" , "ctrf-report.json" , "The output file for the test results" )
17
22
flag .StringVar (& outputFile , "o" , "ctrf-report.json" , "The output file for the test results (shorthand)" )
18
23
@@ -57,15 +62,44 @@ func main() {
57
62
}
58
63
}
59
64
60
- report , err := reporter .ParseTestResults (os .Stdin , verbose , env )
65
+ effectiveVerbose := verbose && ! quiet
66
+
67
+ report , err := reporter .ParseTestResults (os .Stdin , effectiveVerbose , env )
61
68
if err != nil {
62
- _ , _ = fmt .Fprintf (os .Stderr , "Error parsing test results: %v\n " , err )
69
+ if ! quiet {
70
+ _ , _ = fmt .Fprintf (os .Stderr , "Error parsing test results: %v\n " , err )
71
+ }
63
72
os .Exit (1 )
64
73
}
65
74
66
75
err = reporter .WriteReportToFile (outputFile , report )
67
76
if err != nil {
68
- _ , _ = fmt .Fprintf (os .Stderr , "Error writing the report to file: %v\n " , err )
77
+ if ! quiet {
78
+ _ , _ = fmt .Fprintf (os .Stderr , "Error writing the report to file: %v\n " , err )
79
+ }
80
+ os .Exit (1 )
81
+ }
82
+
83
+ if ! verbose && ! quiet {
84
+ buildOutput := reporter .GetBuildOutput ()
85
+ fmt .Println (buildOutput )
86
+ }
87
+
88
+ if report .Results .Extra != nil {
89
+ extraMap := report .Results .Extra .(map [string ]interface {})
90
+ if _ , ok := extraMap ["buildFail" ]; ok {
91
+ buildFailed = true
92
+ }
93
+ if _ , ok := extraMap ["FailedBuild" ]; ok {
94
+ buildFailed = true
95
+ }
96
+ }
97
+
98
+ if report .Results .Summary .Failed > 0 {
99
+ buildFailed = true
100
+ }
101
+
102
+ if buildFailed {
69
103
os .Exit (1 )
70
104
}
71
105
}
0 commit comments