@@ -231,6 +231,48 @@ assert logFalseCondition(node != null, () -> "Could not find suite id \"" + even
231
231
}
232
232
233
233
private void doProcess (final PostSuiteEvent event ) {
234
+ final ItemNode node = run .getItemNodes ().get (event .getId ());
235
+ assert logFalseCondition (node != null , () -> "Could not find suite id \" " + event .getId ()
236
+ + "\" when processing PostSuiteEvent " + event .toString () + "." );
237
+ final Suite suite = (Suite ) node .getUserObject ();
238
+ if (suite .getEndTime () == null ) {
239
+ // first occurrence, multiple possible, e.g. ut_tester and ut_user in utPLSQL project
240
+ suite .setStartTime (event .getStartTime ());
241
+ suite .setEndTime (event .getEndTime ());
242
+ suite .setExecutionTime (event .getExecutionTime ());
243
+ suite .setCounter (event .getCounter ());
244
+ suite .setErrorStack (event .getErrorStack ());
245
+ suite .setWarnings (event .getWarnings ());
246
+ suite .setServerOutput (event .getServerOutput ());
247
+ } else {
248
+ // subsequent occurrence, aggregate
249
+ suite .setEndTime (event .getEndTime ());
250
+ suite .setExecutionTime (suite .getExecutionTime () + event .getExecutionTime ());
251
+ suite .getCounter ().setWarning (suite .getCounter ().getWarning () + event .getCounter ().getWarning ());
252
+ suite .getCounter ().setDisabled (suite .getCounter ().getDisabled () + event .getCounter ().getDisabled ());
253
+ suite .getCounter ().setSuccess (suite .getCounter ().getSuccess () + event .getCounter ().getSuccess ());
254
+ suite .getCounter ().setFailure (suite .getCounter ().getFailure () + event .getCounter ().getFailure ());
255
+ suite .getCounter ().setError (suite .getCounter ().getError () + event .getCounter ().getError ());
256
+ if (event .getWarnings () != null ) {
257
+ StringBuilder sb = new StringBuilder ();
258
+ if (suite .getWarnings () != null ) {
259
+ sb .append (suite .getWarnings ());
260
+ sb .append ("\n \n " );
261
+ }
262
+ sb .append (event .getWarnings ());
263
+ suite .setWarnings (sb .toString ());
264
+ }
265
+ if (event .getServerOutput () != null ) {
266
+ StringBuilder sb = new StringBuilder ();
267
+ if (suite .getServerOutput () != null ) {
268
+ sb .append (suite .getServerOutput ());
269
+ sb .append ("\n \n " );
270
+ }
271
+ sb .append (event .getServerOutput ());
272
+ suite .setServerOutput (sb .toString ());
273
+ }
274
+ }
275
+
234
276
final Test test = run .getCurrentTest ();
235
277
// Errors on suite levels are reported as warnings by the utPLSQL framework,
236
278
// since an error on suite level does not affect a status of a test.
0 commit comments