From c58e6518de4b59001217de62ba6454bc345d09be Mon Sep 17 00:00:00 2001 From: Neelkush Vadalia <85517113+NeelkushVadalia-Signifyd@users.noreply.github.com> Date: Tue, 6 Sep 2022 14:45:41 -0400 Subject: [PATCH] Insert traceID in test exceptions --- core/pom.xml | 6 ++++++ .../cucumber/core/runtime/TestCaseResultObserver.java | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/core/pom.xml b/core/pom.xml index 24f3c98050..b5881ff847 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -184,6 +184,12 @@ + + + io.opentracing + opentracing-util + 0.33.0 + diff --git a/core/src/main/java/io/cucumber/core/runtime/TestCaseResultObserver.java b/core/src/main/java/io/cucumber/core/runtime/TestCaseResultObserver.java index 176e11a276..b99c6023b1 100644 --- a/core/src/main/java/io/cucumber/core/runtime/TestCaseResultObserver.java +++ b/core/src/main/java/io/cucumber/core/runtime/TestCaseResultObserver.java @@ -6,8 +6,10 @@ import io.cucumber.plugin.event.SnippetsSuggestedEvent; import io.cucumber.plugin.event.Status; import io.cucumber.plugin.event.TestCaseFinished; +import io.opentracing.util.GlobalTracer; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.function.Function; import java.util.function.Supplier; @@ -59,6 +61,14 @@ public void assertTestCasePassed( return; } Throwable error = result.getError(); + + ArrayList staketrace = new ArrayList( + Arrays.asList(error.getStackTrace())); + staketrace.add( + new StackTraceElement("Jaeger", "Precommit", + GlobalTracer.get().activeSpan().context().toTraceId(), 0)); + error.setStackTrace(staketrace.toArray(new StackTraceElement[staketrace.size()])); + if (status.is(SKIPPED) && error == null) { Throwable throwable = testCaseSkipped.get(); throw new TestCaseFailed(throwable);