From 0bf47e0cd7a71e2857a703c553e571234be3eff6 Mon Sep 17 00:00:00 2001 From: Dmitry Baev Date: Sun, 8 Nov 2020 15:47:24 +0300 Subject: [PATCH] disable test case creation for configuration failure results --- .../java/io/qameta/allure/testng/AllureTestNg.java | 10 ++++++++++ .../java/io/qameta/allure/testng/AllureTestNgTest.java | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java index f296ad9ca..92fb3cfd9 100644 --- a/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java +++ b/allure-testng/src/main/java/io/qameta/allure/testng/AllureTestNg.java @@ -71,6 +71,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import static io.qameta.allure.util.ResultsUtils.ALLURE_ID_LABEL_NAME; import static io.qameta.allure.util.ResultsUtils.bytesToHex; import static io.qameta.allure.util.ResultsUtils.createFrameworkLabel; import static io.qameta.allure.util.ResultsUtils.createHostLabel; @@ -498,6 +499,15 @@ public void onConfigurationFailure(final ITestResult itr) { final String parentUuid = UUID.randomUUID().toString(); startTestCase(itr, parentUuid, uuid); + + // results created for configuration failure should not be considered as test cases. + getLifecycle().updateTestCase( + uuid, + tr -> tr.getLabels().add( + new Label().setName(ALLURE_ID_LABEL_NAME).setValue("-1") + ) + ); + stopTestCase(uuid, itr.getThrowable(), getStatus(itr.getThrowable())); //do nothing } diff --git a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java index 564a6a35f..326189c89 100644 --- a/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java +++ b/allure-testng/src/test/java/io/qameta/allure/testng/AllureTestNgTest.java @@ -974,6 +974,7 @@ public void shouldAddCorrectBeforeMethodFixturesInCaseOfParallelRun( }); } + @SuppressWarnings("unchecked") @AllureFeatures.Fixtures @Issue("135") @Test @@ -992,6 +993,14 @@ public void shouldProcessConfigurationFailure() { .extracting(TestResult::getStatusDetails) .extracting(StatusDetails::getMessage) .containsExactly("fail"); + + assertThat(results.getTestResults()) + .filteredOn("name", "failed configuration") + .flatExtracting(TestResult::getLabels) + .extracting(Label::getName, Label::getValue) + .contains( + tuple("AS_ID", "-1") + ); } @AllureFeatures.IgnoredTests