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);