Atlas › Test

ReportCrashRequiresJunitfile

Exact test identity: go.temporal.io/server/tools/testrunner/TestRunnerSanitizeAndParseArgs/ReportCrashRequiresJunitfile

Package
go.temporal.io/server/tools/testrunner
Suite / test hierarchy
TestRunnerSanitizeAndParseArgs/ReportCrashRequiresJunitfile
Test
ReportCrashRequiresJunitfile
Introduced at
testrunner.go ×1 Frontier kind: Joint frontier
Covered ranges
12
Covered lines
22
Covered files
1

Covered source

Expand a file to inspect source; the > gutter marks covered lines.

go.temporal.io/server/tools/testrunner/testrunner.go 22 covered LOC · 12 ranges

Open complete file

81 }
82
83 > func newRunner() *runner { testrunner.go
84 > return &runner{
85 > attempts: make([]*attempt, 0),
86 > maxAttempts: 1,
87 > }
88 > }
89
90 // nolint:revive,cognitive-complexity
91 > func (r *runner) sanitizeAndParseArgs(command string, args []string) ([]string, error) { testrunner.go
92 > var sanitizedArgs []string
93 > for _, arg := range args {
94 > if strings.HasPrefix(arg, maxAttemptsFlag) { testrunner.go
95 var err error
96 r.maxAttempts, err = strconv.Atoi(strings.Split(arg, "=")[1])
104 }
105
106 > if strings.HasPrefix(arg, totalTimeoutFlag) { testrunner.go
107 var err error
108 r.totalTimeout, err = time.ParseDuration(strings.TrimPrefix(arg, totalTimeoutFlag))
116 }
117
118 > if strings.HasPrefix(arg, gotestsumPathFlag) { testrunner.go
119 r.gotestsumPath = strings.Split(arg, "=")[1]
120 continue
121 }
122
123 > if strings.HasPrefix(arg, crashReportNameFlag) { testrunner.go
124 > r.crashName = strings.Split(arg, "=")[1] testrunner.go
125 > if r.crashName == "" {
126 return nil, fmt.Errorf("invalid argument %q: must not be empty", crashReportNameFlag)
127 }
128 > if command != crashReportCommand { testrunner.go
129 return nil, fmt.Errorf("argument %q is only valid for command %q", crashReportNameFlag, crashReportCommand)
130 }
131 > continue // this is a `testrunner` only arg and not passed through testrunner.go
132 }
133
153 }
154
155 > switch command { testrunner.go
156 case testCommand:
157 if r.coverProfilePath == "" {
164 return nil, fmt.Errorf("missing required argument %q", gotestsumPathFlag)
165 }
166 > case crashReportCommand: testrunner.go
167 > if r.junitOutputPath == "" {
168 > return nil, fmt.Errorf("missing required argument %q", junitReportFlag) testrunner.go
169 > }
170 if r.crashName == "" {
171 return nil, fmt.Errorf("missing required argument %q", crashReportNameFlag)