From 70060ee948d3b560976809daf21729d111794568 Mon Sep 17 00:00:00 2001 From: Daniel Mohedano Date: Fri, 3 Jul 2026 09:55:08 +0200 Subject: [PATCH] fix: cucumber retries running through `Suite` --- .../junit5/TestDataFactory.java | 27 +- .../datadog/smoketest/MavenSmokeTest.java | 5 + .../coverages.ftl | 46 + .../events.ftl | 1085 +++++++++++++++++ .../pom.xml | 107 ++ .../java/datadog/smoke/RunCucumberTest.java | 14 + .../smoke/calculator/CalculatorSteps.java | 28 + .../datadog/smoke/basic_arithmetic.feature | 8 + 8 files changed, 1310 insertions(+), 10 deletions(-) create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/coverages.ftl create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/events.ftl create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/pom.xml create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/RunCucumberTest.java create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/calculator/CalculatorSteps.java create mode 100644 dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/resources/datadog/smoke/basic_arithmetic.feature diff --git a/dd-java-agent/instrumentation/junit/junit-5/junit-5.3/src/main/java/datadog/trace/instrumentation/junit5/TestDataFactory.java b/dd-java-agent/instrumentation/junit/junit-5/junit-5.3/src/main/java/datadog/trace/instrumentation/junit5/TestDataFactory.java index 0a3d673b0c2..9061433bb5a 100644 --- a/dd-java-agent/instrumentation/junit/junit-5/junit-5.3/src/main/java/datadog/trace/instrumentation/junit5/TestDataFactory.java +++ b/dd-java-agent/instrumentation/junit/junit-5/junit-5.3/src/main/java/datadog/trace/instrumentation/junit5/TestDataFactory.java @@ -5,11 +5,11 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.function.Function; import java.util.function.Predicate; import javax.annotation.Nullable; import org.junit.platform.engine.TestDescriptor; -import org.junit.platform.engine.UniqueId; public abstract class TestDataFactory { @@ -46,29 +46,36 @@ private static Map addEntry(Map originalMap, K key, V value) } public static TestIdentifier createTestIdentifier(TestDescriptor testDescriptor) { - UniqueId uniqueId = testDescriptor.getUniqueId(); - return uniqueId - .getEngineId() + return engineId(testDescriptor) .map(TEST_IDENTIFIER_FACTORY_BY_ENGINE_ID::get) .orElse(JUnitPlatformUtils::toTestIdentifier) .apply(testDescriptor); } public static TestSourceData createTestSourceData(TestDescriptor testDescriptor) { - UniqueId uniqueId = testDescriptor.getUniqueId(); - return uniqueId - .getEngineId() + return engineId(testDescriptor) .map(TEST_SOURCE_DATA_FACTORY_BY_ENGINE_ID::get) .orElse(JUnitPlatformUtils::toTestSourceData) .apply(testDescriptor); } public static boolean shouldBeTraced(TestDescriptor testDescriptor) { - UniqueId uniqueId = testDescriptor.getUniqueId(); - return uniqueId - .getEngineId() + return engineId(testDescriptor) .map(TEST_DESCRIPTOR_FILTER_BY_ENGINE_ID::get) .map(filter -> filter.test(testDescriptor)) .orElse(true); } + + /** + * Resolves the innermost {@code engine} segment rather than the root one returned by the JUnit + * Platform {@code UniqueId#getEngineId()}. + * + *

Per-engine factories are registered under leaf engine ids ({@code cucumber}, {@code spock}, + * ...). When a framework runs nested under {@code junit-platform-suite-engine}, the unique id is + * rooted at the suite engine (e.g. {@code + * [engine:junit-platform-suite]/[suite:...]/[engine:cucumber]/...}). + */ + private static Optional engineId(TestDescriptor testDescriptor) { + return Optional.ofNullable(JUnitPlatformUtils.getEngineId(testDescriptor)); + } } diff --git a/dd-smoke-tests/maven/src/test/java/datadog/smoketest/MavenSmokeTest.java b/dd-smoke-tests/maven/src/test/java/datadog/smoketest/MavenSmokeTest.java index 1afd3d92d95..bf9685724cb 100644 --- a/dd-smoke-tests/maven/src/test/java/datadog/smoketest/MavenSmokeTest.java +++ b/dd-smoke-tests/maven/src/test/java/datadog/smoketest/MavenSmokeTest.java @@ -92,6 +92,7 @@ static void closeMockBackend() throws Exception { "succeed-jacoco-argline | test_successful_maven_run_with_jacoco_and_argline | 3.9.9 | 5 | 1 | true | true | false | true | [] | 8 ", "succeed-cucumber | test_successful_maven_run_with_cucumber | 3.9.9 | 4 | 1 | true | false | false | true | [] | 8 ", "failed-flaky-retries | test_failed_maven_run_flaky_retries | 3.9.9 | 8 | 5 | false | false | true | true | [] | 8 ", + "cucumber-suite-flaky | test_maven_run_cucumber_suite_flaky_retries | 3.9.9 | 8 | 5 | false | false | true | false | [] | 17 ", "succeed-junit-platform | test_successful_maven_run_junit_platform_runner | 3.9.9 | 4 | 0 | true | false | false | false | [] | 8 ", "succeed-arg-line-property | test_successful_maven_run_with_arg_line_property | 3.9.9 | 4 | 0 | true | false | false | false | [\"-DargLine='-Dmy-custom-property=provided-via-command-line'\"] | 8 ", "succeed-multi-forks-j8 | test_successful_maven_run_multiple_forks | 3.9.9 | 5 | 1 | true | true | false | true | [] | 8 ", @@ -125,6 +126,10 @@ void testMavenRun( "Maven Smoke Tests Project maven-surefire-plugin default-test", "datadog.smoke.TestFailed", "test_failed"); + mockBackend.givenFlakyTest( + "Maven Smoke Tests Project maven-surefire-plugin default-test", + "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "Basic Arithmetic - Addition"); // cucumber.junit-platform.naming-strategy=long mockBackend.givenTestsSkipping(testsSkipping); mockBackend.givenSkippableTest( diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/coverages.ftl b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/coverages.ftl new file mode 100644 index 00000000000..f6900a4dec6 --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/coverages.ftl @@ -0,0 +1,46 @@ +[ { + "files" : [ { + "filename" : "src/test/resources/datadog/smoke/basic_arithmetic.feature" + }, { + "filename" : "src/test/java/datadog/smoke/calculator/CalculatorSteps.java" + } ], + "span_id" : ${content_parent_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} +}, { + "files" : [ { + "filename" : "src/test/resources/datadog/smoke/basic_arithmetic.feature" + }, { + "filename" : "src/test/java/datadog/smoke/calculator/CalculatorSteps.java" + } ], + "span_id" : ${content_parent_id_2}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} +}, { + "files" : [ { + "filename" : "src/test/resources/datadog/smoke/basic_arithmetic.feature" + }, { + "filename" : "src/test/java/datadog/smoke/calculator/CalculatorSteps.java" + } ], + "span_id" : ${content_parent_id_3}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} +}, { + "files" : [ { + "filename" : "src/test/resources/datadog/smoke/basic_arithmetic.feature" + }, { + "filename" : "src/test/java/datadog/smoke/calculator/CalculatorSteps.java" + } ], + "span_id" : ${content_parent_id_4}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} +}, { + "files" : [ { + "filename" : "src/test/resources/datadog/smoke/basic_arithmetic.feature" + }, { + "filename" : "src/test/java/datadog/smoke/calculator/CalculatorSteps.java" + } ], + "span_id" : ${content_parent_id_5}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} +} ] \ No newline at end of file diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/events.ftl b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/events.ftl new file mode 100644 index 00000000000..b5fe99d9bcd --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/events.ftl @@ -0,0 +1,1085 @@ +[ { + "content" : { + "duration" : ${content_duration}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[4, 5]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.adding(int,int)", + "step.name" : "I add {int} and {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id}, + "resource" : "I add {int} and {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id}, + "start" : ${content_start}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_2}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_2}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[4, 5]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.adding(int,int)", + "step.name" : "I add {int} and {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "I add {int} and {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_2}, + "start" : ${content_start_2}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_3}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_3}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[4, 5]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.adding(int,int)", + "step.name" : "I add {int} and {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "I add {int} and {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_3}, + "start" : ${content_start_3}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_4}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_4}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[4, 5]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.adding(int,int)", + "step.name" : "I add {int} and {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "I add {int} and {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_4}, + "start" : ${content_start_4}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_5}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_5}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[4, 5]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.adding(int,int)", + "step.name" : "I add {int} and {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "I add {int} and {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_5}, + "start" : ${content_start_5}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_6}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_6}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "maven", + "env" : "integration-test", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack}, + "error.type" : "org.apache.maven.lifecycle.LifecycleExecutionException", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test_session_end", + "test.code_coverage.enabled" : "true", + "test.command" : "mvn -B test", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.status" : "fail", + "test.toolchain" : ${content_meta_test_toolchain}, + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id} + }, + "name" : "maven.test_session", + "resource" : "Maven Smoke Tests Project", + "service" : "test-maven-service", + "start" : ${content_start_6}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_session_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_7}, + "error" : 1, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_7}, + "_dd.test.is_user_provided_service" : "true", + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "maven", + "env" : "integration-test", + "error.message" : ${content_meta_error_message}, + "error.stack" : ${content_meta_error_stack_2}, + "error.type" : "org.apache.maven.lifecycle.LifecycleExecutionException", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test_module_end", + "test.code_coverage.enabled" : "true", + "test.command" : "mvn -B test", + "test.execution" : "maven-surefire-plugin:test:default-test", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.status" : "fail", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2} + }, + "name" : "maven.test_module", + "resource" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "service" : "test-maven-service", + "start" : ${content_start_7}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id} + }, + "type" : "test_module_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_8}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_8}, + "_dd.test.is_user_provided_service" : "true", + "env" : "integration-test", + "execution" : "default-compile", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "plugin" : "maven-compiler-plugin", + "project" : "Maven Smoke Tests Project", + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version} + }, + "metrics" : { }, + "name" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_compile", + "parent_id" : ${content_test_session_id}, + "resource" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_compile", + "service" : "test-maven-service", + "span_id" : ${content_span_id_6}, + "start" : ${content_start_8}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_9}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_9}, + "_dd.test.is_user_provided_service" : "true", + "env" : "integration-test", + "execution" : "default-testCompile", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "plugin" : "maven-compiler-plugin", + "project" : "Maven Smoke Tests Project", + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version} + }, + "metrics" : { }, + "name" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_testCompile", + "parent_id" : ${content_test_session_id}, + "resource" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_testCompile", + "service" : "test-maven-service", + "span_id" : ${content_span_id_7}, + "start" : ${content_start_9}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_10}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_10}, + "_dd.test.is_user_provided_service" : "true", + "env" : "integration-test", + "execution" : "default-resources", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "plugin" : "maven-resources-plugin", + "project" : "Maven Smoke Tests Project", + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version} + }, + "metrics" : { }, + "name" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_resources", + "parent_id" : ${content_test_session_id}, + "resource" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_resources", + "service" : "test-maven-service", + "span_id" : ${content_span_id_8}, + "start" : ${content_start_10}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_11}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_11}, + "_dd.test.is_user_provided_service" : "true", + "env" : "integration-test", + "execution" : "default-testResources", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "plugin" : "maven-resources-plugin", + "project" : "Maven Smoke Tests Project", + "runtime-id" : ${content_meta_runtime_id_2}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version} + }, + "metrics" : { }, + "name" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_testResources", + "parent_id" : ${content_test_session_id}, + "resource" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_testResources", + "service" : "test-maven-service", + "span_id" : ${content_span_id_9}, + "start" : ${content_start_11}, + "trace_id" : ${content_test_session_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_12}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_12}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.location" : "datadog.smoke.calculator.CalculatorSteps.a_calculator_I_just_turned_on()", + "step.name" : "a calculator I just turned on", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id}, + "resource" : "a calculator I just turned on", + "service" : "test-maven-service", + "span_id" : ${content_span_id_10}, + "start" : ${content_start_12}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_13}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_13}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.location" : "datadog.smoke.calculator.CalculatorSteps.a_calculator_I_just_turned_on()", + "step.name" : "a calculator I just turned on", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "a calculator I just turned on", + "service" : "test-maven-service", + "span_id" : ${content_span_id_11}, + "start" : ${content_start_13}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_14}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_14}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.location" : "datadog.smoke.calculator.CalculatorSteps.a_calculator_I_just_turned_on()", + "step.name" : "a calculator I just turned on", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "a calculator I just turned on", + "service" : "test-maven-service", + "span_id" : ${content_span_id_12}, + "start" : ${content_start_14}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_15}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_15}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.location" : "datadog.smoke.calculator.CalculatorSteps.a_calculator_I_just_turned_on()", + "step.name" : "a calculator I just turned on", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "a calculator I just turned on", + "service" : "test-maven-service", + "span_id" : ${content_span_id_13}, + "start" : ${content_start_15}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_16}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_16}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.location" : "datadog.smoke.calculator.CalculatorSteps.a_calculator_I_just_turned_on()", + "step.name" : "a calculator I just turned on", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "a calculator I just turned on", + "service" : "test-maven-service", + "span_id" : ${content_span_id_14}, + "start" : ${content_start_16}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_17}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_17}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test_suite_end", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test_suite", + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "service" : "test-maven-service", + "start" : ${content_start_17}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id} + }, + "type" : "test_suite_end", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_18}, + "error" : 1, + "meta" : { + "_dd.library_capabilities.auto_test_retries" : "1", + "_dd.library_capabilities.coverage_report_upload" : "1", + "_dd.library_capabilities.early_flake_detection" : "1", + "_dd.library_capabilities.failed_test_replay" : "1", + "_dd.library_capabilities.test_impact_analysis" : "1", + "_dd.library_capabilities.test_management.attempt_to_fix" : "5", + "_dd.library_capabilities.test_management.disable" : "1", + "_dd.library_capabilities.test_management.quarantine" : "1", + "_dd.p.tid" : ${content_meta__dd_p_tid_18}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "error.message" : ${content_meta_error_message_2}, + "error.stack" : ${content_meta_error_stack_3}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.name" : "Basic Arithmetic - Addition", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test", + "parent_id" : ${content_parent_id_6}, + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic.Basic Arithmetic - Addition", + "service" : "test-maven-service", + "span_id" : ${content_parent_id}, + "start" : ${content_start_18}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_19}, + "error" : 1, + "meta" : { + "_dd.library_capabilities.auto_test_retries" : "1", + "_dd.library_capabilities.coverage_report_upload" : "1", + "_dd.library_capabilities.early_flake_detection" : "1", + "_dd.library_capabilities.failed_test_replay" : "1", + "_dd.library_capabilities.test_impact_analysis" : "1", + "_dd.library_capabilities.test_management.attempt_to_fix" : "5", + "_dd.library_capabilities.test_management.disable" : "1", + "_dd.library_capabilities.test_management.quarantine" : "1", + "_dd.p.tid" : ${content_meta__dd_p_tid_19}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "error.message" : ${content_meta_error_message_2}, + "error.stack" : ${content_meta_error_stack_4}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.is_retry" : "true", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.name" : "Basic Arithmetic - Addition", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_5}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test", + "parent_id" : ${content_parent_id_6}, + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic.Basic Arithmetic - Addition", + "service" : "test-maven-service", + "span_id" : ${content_parent_id_2}, + "start" : ${content_start_19}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_20}, + "error" : 1, + "meta" : { + "_dd.library_capabilities.auto_test_retries" : "1", + "_dd.library_capabilities.coverage_report_upload" : "1", + "_dd.library_capabilities.early_flake_detection" : "1", + "_dd.library_capabilities.failed_test_replay" : "1", + "_dd.library_capabilities.test_impact_analysis" : "1", + "_dd.library_capabilities.test_management.attempt_to_fix" : "5", + "_dd.library_capabilities.test_management.disable" : "1", + "_dd.library_capabilities.test_management.quarantine" : "1", + "_dd.p.tid" : ${content_meta__dd_p_tid_20}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "error.message" : ${content_meta_error_message_2}, + "error.stack" : ${content_meta_error_stack_5}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.is_retry" : "true", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.name" : "Basic Arithmetic - Addition", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_6}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test", + "parent_id" : ${content_parent_id_6}, + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic.Basic Arithmetic - Addition", + "service" : "test-maven-service", + "span_id" : ${content_parent_id_3}, + "start" : ${content_start_20}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_21}, + "error" : 1, + "meta" : { + "_dd.library_capabilities.auto_test_retries" : "1", + "_dd.library_capabilities.coverage_report_upload" : "1", + "_dd.library_capabilities.early_flake_detection" : "1", + "_dd.library_capabilities.failed_test_replay" : "1", + "_dd.library_capabilities.test_impact_analysis" : "1", + "_dd.library_capabilities.test_management.attempt_to_fix" : "5", + "_dd.library_capabilities.test_management.disable" : "1", + "_dd.library_capabilities.test_management.quarantine" : "1", + "_dd.p.tid" : ${content_meta__dd_p_tid_21}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "error.message" : ${content_meta_error_message_2}, + "error.stack" : ${content_meta_error_stack_6}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test", + "test.failure_suppressed" : "true", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.is_retry" : "true", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.name" : "Basic Arithmetic - Addition", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_7}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test", + "parent_id" : ${content_parent_id_6}, + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic.Basic Arithmetic - Addition", + "service" : "test-maven-service", + "span_id" : ${content_parent_id_4}, + "start" : ${content_start_21}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_22}, + "error" : 1, + "meta" : { + "_dd.library_capabilities.auto_test_retries" : "1", + "_dd.library_capabilities.coverage_report_upload" : "1", + "_dd.library_capabilities.early_flake_detection" : "1", + "_dd.library_capabilities.failed_test_replay" : "1", + "_dd.library_capabilities.test_impact_analysis" : "1", + "_dd.library_capabilities.test_management.attempt_to_fix" : "5", + "_dd.library_capabilities.test_management.disable" : "1", + "_dd.library_capabilities.test_management.quarantine" : "1", + "_dd.p.tid" : ${content_meta__dd_p_tid_22}, + "_dd.test.is_user_provided_service" : "true", + "_dd.tracer_host" : ${content_meta__dd_tracer_host}, + "ci.workspace_path" : ${content_meta_ci_workspace_path}, + "component" : "cucumber", + "env" : "integration-test", + "error.message" : ${content_meta_error_message_2}, + "error.stack" : ${content_meta_error_stack_7}, + "error.type" : "java.lang.AssertionError", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "span.kind" : "test", + "test.final_status" : "fail", + "test.framework" : "cucumber", + "test.framework_version" : "7.22.0", + "test.has_failed_all_retries" : "true", + "test.is_retry" : "true", + "test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test", + "test.name" : "Basic Arithmetic - Addition", + "test.retry_reason" : "auto_test_retry", + "test.status" : "fail", + "test.suite" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic", + "test.type" : "test", + "test_session.name" : "mvn -B test" + }, + "metrics" : { + "_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_8}, + "_dd.profiling.enabled" : 0, + "_dd.trace_span_attribute_schema" : 0, + "process_id" : ${content_metrics_process_id_2} + }, + "name" : "cucumber.test", + "parent_id" : ${content_parent_id_6}, + "resource" : "classpath:datadog/smoke/basic_arithmetic.feature:Basic Arithmetic.Basic Arithmetic - Addition", + "service" : "test-maven-service", + "span_id" : ${content_parent_id_5}, + "start" : ${content_start_22}, + "test_module_id" : ${content_test_module_id}, + "test_session_id" : ${content_test_session_id}, + "test_suite_id" : ${content_test_suite_id}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "test", + "version" : 2 +}, { + "content" : { + "duration" : ${content_duration_23}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_23}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[8]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.the_result_is(int)", + "step.name" : "the result is {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id}, + "resource" : "the result is {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_15}, + "start" : ${content_start_23}, + "trace_id" : ${content_trace_id} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_24}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_24}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[8]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.the_result_is(int)", + "step.name" : "the result is {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_2}, + "resource" : "the result is {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_16}, + "start" : ${content_start_24}, + "trace_id" : ${content_trace_id_2} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_25}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_25}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[8]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.the_result_is(int)", + "step.name" : "the result is {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_3}, + "resource" : "the result is {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_17}, + "start" : ${content_start_25}, + "trace_id" : ${content_trace_id_3} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_26}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_26}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[8]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.the_result_is(int)", + "step.name" : "the result is {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_4}, + "resource" : "the result is {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_18}, + "start" : ${content_start_26}, + "trace_id" : ${content_trace_id_4} + }, + "type" : "span", + "version" : 1 +}, { + "content" : { + "duration" : ${content_duration_27}, + "error" : 0, + "meta" : { + "_dd.p.tid" : ${content_meta__dd_p_tid_27}, + "_dd.test.is_user_provided_service" : "true", + "component" : "cucumber", + "env" : "integration-test", + "language" : "jvm", + "library_version" : ${content_meta_library_version}, + "os.architecture" : ${content_meta_os_architecture}, + "os.platform" : ${content_meta_os_platform}, + "os.version" : ${content_meta_os_version}, + "runtime-id" : ${content_meta_runtime_id}, + "runtime.name" : ${content_meta_runtime_name}, + "runtime.vendor" : ${content_meta_runtime_vendor}, + "runtime.version" : ${content_meta_runtime_version}, + "step.arguments" : "[8]", + "step.location" : "datadog.smoke.calculator.CalculatorSteps.the_result_is(int)", + "step.name" : "the result is {int}", + "step.type" : "io.cucumber.java.JavaStepDefinition" + }, + "metrics" : { }, + "name" : "cucumber.step", + "parent_id" : ${content_parent_id_5}, + "resource" : "the result is {int}", + "service" : "test-maven-service", + "span_id" : ${content_span_id_19}, + "start" : ${content_start_27}, + "trace_id" : ${content_trace_id_5} + }, + "type" : "span", + "version" : 1 +} ] \ No newline at end of file diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/pom.xml b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/pom.xml new file mode 100644 index 00000000000..41d66c7a639 --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/pom.xml @@ -0,0 +1,107 @@ + + + + 4.0.0 + com.datadog.ci.test + maven-smoke-test + 1.0-SNAPSHOT + Maven Smoke Tests Project + + + + 17 + UTF-8 + 7.22.0 + + + + + + false + + central + Central Repository + https://repo.maven.apache.org/maven2 + + + + + + never + + + false + + central + Central Repository + https://repo.maven.apache.org/maven2 + + + + + + + org.junit + junit-bom + 5.13.0 + pom + import + + + + + + + io.cucumber + cucumber-java + ${cucumber.version} + test + + + io.cucumber + cucumber-junit-platform-engine + ${cucumber.version} + test + + + org.junit.platform + junit-platform-suite + test + + + junit + junit + 4.13.2 + test + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.5.6 + + + + + cucumber.junit-platform.naming-strategy=long + + + + + + + + diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/RunCucumberTest.java b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/RunCucumberTest.java new file mode 100644 index 00000000000..4d069ff78ce --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/RunCucumberTest.java @@ -0,0 +1,14 @@ +package datadog.smoke; + +import static io.cucumber.junit.platform.engine.Constants.GLUE_PROPERTY_NAME; + +import org.junit.platform.suite.api.ConfigurationParameter; +import org.junit.platform.suite.api.IncludeEngines; +import org.junit.platform.suite.api.SelectClasspathResource; +import org.junit.platform.suite.api.Suite; + +@Suite +@IncludeEngines("cucumber") +@SelectClasspathResource("datadog/smoke") +@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = "datadog.smoke.calculator") +public class RunCucumberTest {} diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/calculator/CalculatorSteps.java b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/calculator/CalculatorSteps.java new file mode 100644 index 00000000000..62affeea4fc --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/java/datadog/smoke/calculator/CalculatorSteps.java @@ -0,0 +1,28 @@ +package datadog.smoke.calculator; + +import static org.junit.Assert.assertEquals; + +import io.cucumber.java.en.Given; +import io.cucumber.java.en.Then; +import io.cucumber.java.en.When; + +public class CalculatorSteps { + + private int result; + + @Given("a calculator I just turned on") + public void a_calculator_I_just_turned_on() { + result = 0; + } + + @When("I add {int} and {int}") + public void adding(int a, int b) { + result = a + b; + } + + @Then("the result is {int}") + public void the_result_is(int expected) { + // Deterministically fails (4 + 5 != 8), so auto-test-retry re-runs the scenario. + assertEquals(expected, result); + } +} diff --git a/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/resources/datadog/smoke/basic_arithmetic.feature b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/resources/datadog/smoke/basic_arithmetic.feature new file mode 100644 index 00000000000..046b08f7833 --- /dev/null +++ b/dd-smoke-tests/maven/src/test/resources/test_maven_run_cucumber_suite_flaky_retries/src/test/resources/datadog/smoke/basic_arithmetic.feature @@ -0,0 +1,8 @@ +Feature: Basic Arithmetic + + Background: A Calculator + Given a calculator I just turned on + + Scenario: Addition + When I add 4 and 5 + Then the result is 8