@@ -223,7 +223,7 @@ func isTestInList(test *TestConfig, tl TestsList) bool {
223
223
}
224
224
225
225
// RunAllTests launches all tests.
226
- func (config * TestsuiteConfig ) RunAllTests (logdir string , tl TestsList ) int {
226
+ func (config * TestsuiteConfig ) RunAllTests (logdir string , tl TestsList , repeatCount int ) int {
227
227
report := StartReport (logdir )
228
228
if report == nil {
229
229
return 255
@@ -233,19 +233,38 @@ func (config *TestsuiteConfig) RunAllTests(logdir string, tl TestsList) int {
233
233
sichan := make (chan os.Signal , 1 )
234
234
signal .Notify (sichan , os .Interrupt )
235
235
236
- var totalTests , passedTests , failedTests []string
236
+ type TestInfo struct {
237
+ TestName string
238
+ Repeated int
239
+ }
240
+
241
+ var totalTests , passedTests , failedTests []TestInfo
242
+
237
243
for iii := range config .Tests {
238
244
test := & config .Tests [iii ]
239
245
240
246
if isTestInList (test , tl ) {
241
- tr := config .executeOneTest (test , logdir , sichan )
247
+ var tr * TestcaseReportInfo
248
+ ti := TestInfo {
249
+ TestName : test .Name ,
250
+ Repeated : 0 ,
251
+ }
252
+
253
+ for ti .Repeated < repeatCount {
254
+ tr = config .executeOneTest (test , logdir , sichan )
255
+ ti .Repeated ++
256
+ if tr .Status == TestReportedPassed || tr .Status == TestInterrupted {
257
+ break
258
+ }
259
+ }
260
+
242
261
report .AddTestResult (tr )
243
262
244
- totalTests = append (totalTests , test . Name )
263
+ totalTests = append (totalTests , ti )
245
264
if tr .Status == TestReportedPassed {
246
- passedTests = append (passedTests , test . Name )
265
+ passedTests = append (passedTests , ti )
247
266
} else {
248
- failedTests = append (failedTests , test . Name )
267
+ failedTests = append (failedTests , ti )
249
268
}
250
269
251
270
if tr .Status == TestInterrupted {
@@ -256,9 +275,9 @@ func (config *TestsuiteConfig) RunAllTests(logdir string, tl TestsList) int {
256
275
257
276
report .FinishReport ()
258
277
259
- LogInfo ("EXECUTED TEST NAMES:" , totalTests )
260
- LogInfo ("PASSED TEST NAMES:" , passedTests )
261
- LogInfo ("FAILED TEST NAMES:" , failedTests )
278
+ LogInfo ("EXECUTED TEST NAMES AND REPEAT COUNT :" , totalTests )
279
+ LogInfo ("PASSED TEST NAMES AND REPEAT COUNT :" , passedTests )
280
+ LogInfo ("FAILED TEST NAMES AND REPEAT COUNT :" , failedTests )
262
281
LogInfo ("TESTS EXECUTED:" , len (totalTests ))
263
282
LogInfo ("PASSED:" , len (passedTests ))
264
283
LogInfo ("FAILED:" , len (failedTests ))
0 commit comments