public void executionFinished()

in surefire-providers/surefire-junit-platform/src/main/java/org/apache/maven/surefire/junitplatform/RunListenerAdapter.java [106:164]


    public void executionFinished(TestIdentifier testIdentifier, TestExecutionResult testExecutionResult) {
        boolean isClass = testIdentifier.isContainer()
                && testIdentifier
                        .getSource()
                        .filter(ClassSource.class::isInstance)
                        .isPresent();

        boolean isTest = testIdentifier.isTest();

        boolean failed = testExecutionResult.getStatus() == FAILED;

        boolean isAssertionError = testExecutionResult
                .getThrowable()
                .filter(AssertionError.class::isInstance)
                .isPresent();

        boolean isRootContainer =
                testIdentifier.isContainer() && !testIdentifier.getParentId().isPresent();

        if (failed || isClass || isTest) {
            Integer elapsed = computeElapsedTime(testIdentifier);
            switch (testExecutionResult.getStatus()) {
                case ABORTED:
                    if (isTest) {
                        runListener.testAssumptionFailure(
                                createReportEntry(testIdentifier, testExecutionResult, elapsed));
                    } else {
                        runListener.testSetCompleted(
                                createReportEntry(testIdentifier, testExecutionResult, systemProps(), null, elapsed));
                    }
                    break;
                case FAILED:
                    String reason =
                            safeGetMessage(testExecutionResult.getThrowable().orElse(null));
                    SimpleReportEntry reportEntry =
                            createReportEntry(testIdentifier, testExecutionResult, reason, elapsed);
                    if (isAssertionError) {
                        runListener.testFailed(reportEntry);
                    } else {
                        runListener.testError(reportEntry);
                    }
                    if (isClass || isRootContainer) {
                        runListener.testSetCompleted(
                                createReportEntry(testIdentifier, null, systemProps(), null, elapsed));
                    }
                    failures.put(testIdentifier, testExecutionResult);
                    break;
                default:
                    if (isTest) {
                        runListener.testSucceeded(createReportEntry(testIdentifier, null, elapsed));
                    } else {
                        runListener.testSetCompleted(
                                createReportEntry(testIdentifier, null, systemProps(), null, elapsed));
                    }
            }
        }

        runningTestIdentifiersByUniqueId.remove(testIdentifier.getUniqueId());
    }