Skip to content

Commit 52acaed

Browse files
add disabled smoke test
1 parent 58ec02a commit 52acaed

File tree

8 files changed

+444
-3
lines changed

8 files changed

+444
-3
lines changed

dd-smoke-tests/backend-mock/src/main/groovy/datadog/smoketest/MockBackend.groovy

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ class MockBackend implements AutoCloseable {
9595
])
9696
}
9797

98+
void givenDisabledTests(String module, String suite, String name) {
99+
testManagement.add([
100+
"module": module,
101+
"suite": suite,
102+
"name": name,
103+
"properties": ["disabled": true]
104+
])
105+
}
106+
98107
String getIntakeUrl() {
99108
return intakeServer.address.toString()
100109
}
@@ -245,7 +254,8 @@ class MockBackend implements AutoCloseable {
245254
for (Map<String, Object> test : testManagement) {
246255
Map<String, Map> suites = modules.computeIfAbsent("${test.module}", k -> [:]).computeIfAbsent("suites", k -> [:])
247256
Map<String, Map> tests = suites.computeIfAbsent("${test.suite}", k -> [:]).computeIfAbsent("tests", k -> [:])
248-
tests.computeIfAbsent("${test.name}", k -> [:]).put("properties", test.properties)
257+
Map<String, Boolean> properties = tests.computeIfAbsent("${test.name}", k -> [:]).computeIfAbsent("properties", k -> [:])
258+
properties.putAll(test.properties)
249259
}
250260

251261
String testManagementResponse = """{ "modules": ${JSON_MAPPER.writeValueAsString(modules)} }"""

dd-smoke-tests/maven/src/test/groovy/datadog/smoketest/MavenSmokeTest.groovy

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package datadog.smoketest
22

33
import datadog.trace.api.Config
4-
import datadog.trace.api.civisibility.config.TestFQN
54
import datadog.trace.api.config.CiVisibilityConfig
65
import datadog.trace.api.config.GeneralConfig
76
import datadog.trace.civisibility.CiVisibilitySmokeTest
@@ -146,6 +145,24 @@ class MavenSmokeTest extends CiVisibilitySmokeTest {
146145
"test_successful_maven_run_quarantined_tests" | "3.9.9"
147146
}
148147

148+
def "test disabled"() {
149+
givenWrapperPropertiesFile(mavenVersion)
150+
givenMavenProjectFiles(projectName)
151+
givenMavenDependenciesAreLoaded(projectName, mavenVersion)
152+
153+
mockBackend.givenTestManagement(true)
154+
mockBackend.givenDisabledTests("Maven Smoke Tests Project maven-surefire-plugin default-test", "datadog.smoke.TestFailed", "test_failed")
155+
156+
def exitCode = whenRunningMavenBuild([], [])
157+
assert exitCode == 0
158+
159+
verifyEventsAndCoverages(projectName, "maven", mavenVersion, mockBackend.waitForEvents(8), mockBackend.waitForCoverages(0))
160+
161+
where:
162+
projectName | mavenVersion
163+
"test_successful_maven_run_disabled_tests" | "3.9.9"
164+
}
165+
149166
private void givenWrapperPropertiesFile(String mavenVersion) {
150167
def distributionUrl = "https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/${mavenVersion}/apache-maven-${mavenVersion}-bin.zip"
151168

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[ ]
Lines changed: 326 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,326 @@
1+
[ {
2+
"content" : {
3+
"duration" : ${content_duration},
4+
"error" : 0,
5+
"meta" : {
6+
"_dd.p.tid" : ${content_meta__dd_p_tid},
7+
"_dd.test.is_user_provided_service" : "true",
8+
"_dd.tracer_host" : ${content_meta__dd_tracer_host},
9+
"ci.workspace_path" : ${content_meta_ci_workspace_path},
10+
"component" : "maven",
11+
"env" : "integration-test",
12+
"language" : "jvm",
13+
"library_version" : ${content_meta_library_version},
14+
"os.architecture" : ${content_meta_os_architecture},
15+
"os.platform" : ${content_meta_os_platform},
16+
"os.version" : ${content_meta_os_version},
17+
"runtime-id" : ${content_meta_runtime_id},
18+
"runtime.name" : ${content_meta_runtime_name},
19+
"runtime.vendor" : ${content_meta_runtime_vendor},
20+
"runtime.version" : ${content_meta_runtime_version},
21+
"span.kind" : "test_session_end",
22+
"test.code_coverage.enabled" : "true",
23+
"test.command" : "mvn -B test",
24+
"test.framework" : "junit4",
25+
"test.framework_version" : "4.13.2",
26+
"test.itr.tests_skipping.enabled" : "true",
27+
"test.itr.tests_skipping.type" : "test",
28+
"test.status" : "pass",
29+
"test.test_management.enabled" : "true",
30+
"test.toolchain" : ${content_meta_test_toolchain},
31+
"test.type" : "test",
32+
"test_session.name" : "mvn -B test"
33+
},
34+
"metrics" : {
35+
"_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count},
36+
"_dd.profiling.enabled" : 0,
37+
"_dd.trace_span_attribute_schema" : 0,
38+
"process_id" : ${content_metrics_process_id},
39+
"test.itr.tests_skipping.count" : 0
40+
},
41+
"name" : "maven.test_session",
42+
"resource" : "Maven Smoke Tests Project",
43+
"service" : "test-maven-service",
44+
"start" : ${content_start},
45+
"test_session_id" : ${content_test_session_id}
46+
},
47+
"type" : "test_session_end",
48+
"version" : 1
49+
}, {
50+
"content" : {
51+
"duration" : ${content_duration_2},
52+
"error" : 0,
53+
"meta" : {
54+
"_dd.p.tid" : ${content_meta__dd_p_tid_2},
55+
"_dd.test.is_user_provided_service" : "true",
56+
"ci.workspace_path" : ${content_meta_ci_workspace_path},
57+
"component" : "maven",
58+
"env" : "integration-test",
59+
"language" : "jvm",
60+
"library_version" : ${content_meta_library_version},
61+
"os.architecture" : ${content_meta_os_architecture},
62+
"os.platform" : ${content_meta_os_platform},
63+
"os.version" : ${content_meta_os_version},
64+
"runtime-id" : ${content_meta_runtime_id},
65+
"runtime.name" : ${content_meta_runtime_name},
66+
"runtime.vendor" : ${content_meta_runtime_vendor},
67+
"runtime.version" : ${content_meta_runtime_version},
68+
"span.kind" : "test_module_end",
69+
"test.code_coverage.enabled" : "true",
70+
"test.command" : "mvn -B test",
71+
"test.execution" : "maven-surefire-plugin:test:default-test",
72+
"test.framework" : "junit4",
73+
"test.framework_version" : "4.13.2",
74+
"test.itr.tests_skipping.enabled" : "true",
75+
"test.itr.tests_skipping.type" : "test",
76+
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
77+
"test.status" : "pass",
78+
"test.test_management.enabled" : "true",
79+
"test.type" : "test",
80+
"test_session.name" : "mvn -B test"
81+
},
82+
"metrics" : {
83+
"_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_2},
84+
"test.itr.tests_skipping.count" : 0
85+
},
86+
"name" : "maven.test_module",
87+
"resource" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
88+
"service" : "test-maven-service",
89+
"start" : ${content_start_2},
90+
"test_module_id" : ${content_test_module_id},
91+
"test_session_id" : ${content_test_session_id}
92+
},
93+
"type" : "test_module_end",
94+
"version" : 1
95+
}, {
96+
"content" : {
97+
"duration" : ${content_duration_3},
98+
"error" : 0,
99+
"meta" : {
100+
"_dd.p.tid" : ${content_meta__dd_p_tid_3},
101+
"_dd.test.is_user_provided_service" : "true",
102+
"env" : "integration-test",
103+
"execution" : "default-compile",
104+
"language" : "jvm",
105+
"library_version" : ${content_meta_library_version},
106+
"os.architecture" : ${content_meta_os_architecture},
107+
"os.platform" : ${content_meta_os_platform},
108+
"os.version" : ${content_meta_os_version},
109+
"plugin" : "maven-compiler-plugin",
110+
"project" : "Maven Smoke Tests Project",
111+
"runtime-id" : ${content_meta_runtime_id},
112+
"runtime.name" : ${content_meta_runtime_name},
113+
"runtime.vendor" : ${content_meta_runtime_vendor},
114+
"runtime.version" : ${content_meta_runtime_version}
115+
},
116+
"metrics" : { },
117+
"name" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_compile",
118+
"parent_id" : ${content_test_session_id},
119+
"resource" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_compile",
120+
"service" : "test-maven-service",
121+
"span_id" : ${content_span_id},
122+
"start" : ${content_start_3},
123+
"trace_id" : ${content_test_session_id}
124+
},
125+
"type" : "span",
126+
"version" : 1
127+
}, {
128+
"content" : {
129+
"duration" : ${content_duration_4},
130+
"error" : 0,
131+
"meta" : {
132+
"_dd.p.tid" : ${content_meta__dd_p_tid_4},
133+
"_dd.test.is_user_provided_service" : "true",
134+
"env" : "integration-test",
135+
"execution" : "default-testCompile",
136+
"language" : "jvm",
137+
"library_version" : ${content_meta_library_version},
138+
"os.architecture" : ${content_meta_os_architecture},
139+
"os.platform" : ${content_meta_os_platform},
140+
"os.version" : ${content_meta_os_version},
141+
"plugin" : "maven-compiler-plugin",
142+
"project" : "Maven Smoke Tests Project",
143+
"runtime-id" : ${content_meta_runtime_id},
144+
"runtime.name" : ${content_meta_runtime_name},
145+
"runtime.vendor" : ${content_meta_runtime_vendor},
146+
"runtime.version" : ${content_meta_runtime_version}
147+
},
148+
"metrics" : { },
149+
"name" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_testCompile",
150+
"parent_id" : ${content_test_session_id},
151+
"resource" : "Maven_Smoke_Tests_Project_maven_compiler_plugin_default_testCompile",
152+
"service" : "test-maven-service",
153+
"span_id" : ${content_span_id_2},
154+
"start" : ${content_start_4},
155+
"trace_id" : ${content_test_session_id}
156+
},
157+
"type" : "span",
158+
"version" : 1
159+
}, {
160+
"content" : {
161+
"duration" : ${content_duration_5},
162+
"error" : 0,
163+
"meta" : {
164+
"_dd.p.tid" : ${content_meta__dd_p_tid_5},
165+
"_dd.test.is_user_provided_service" : "true",
166+
"env" : "integration-test",
167+
"execution" : "default-resources",
168+
"language" : "jvm",
169+
"library_version" : ${content_meta_library_version},
170+
"os.architecture" : ${content_meta_os_architecture},
171+
"os.platform" : ${content_meta_os_platform},
172+
"os.version" : ${content_meta_os_version},
173+
"plugin" : "maven-resources-plugin",
174+
"project" : "Maven Smoke Tests Project",
175+
"runtime-id" : ${content_meta_runtime_id},
176+
"runtime.name" : ${content_meta_runtime_name},
177+
"runtime.vendor" : ${content_meta_runtime_vendor},
178+
"runtime.version" : ${content_meta_runtime_version}
179+
},
180+
"metrics" : { },
181+
"name" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_resources",
182+
"parent_id" : ${content_test_session_id},
183+
"resource" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_resources",
184+
"service" : "test-maven-service",
185+
"span_id" : ${content_span_id_3},
186+
"start" : ${content_start_5},
187+
"trace_id" : ${content_test_session_id}
188+
},
189+
"type" : "span",
190+
"version" : 1
191+
}, {
192+
"content" : {
193+
"duration" : ${content_duration_6},
194+
"error" : 0,
195+
"meta" : {
196+
"_dd.p.tid" : ${content_meta__dd_p_tid_6},
197+
"_dd.test.is_user_provided_service" : "true",
198+
"env" : "integration-test",
199+
"execution" : "default-testResources",
200+
"language" : "jvm",
201+
"library_version" : ${content_meta_library_version},
202+
"os.architecture" : ${content_meta_os_architecture},
203+
"os.platform" : ${content_meta_os_platform},
204+
"os.version" : ${content_meta_os_version},
205+
"plugin" : "maven-resources-plugin",
206+
"project" : "Maven Smoke Tests Project",
207+
"runtime-id" : ${content_meta_runtime_id},
208+
"runtime.name" : ${content_meta_runtime_name},
209+
"runtime.vendor" : ${content_meta_runtime_vendor},
210+
"runtime.version" : ${content_meta_runtime_version}
211+
},
212+
"metrics" : { },
213+
"name" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_testResources",
214+
"parent_id" : ${content_test_session_id},
215+
"resource" : "Maven_Smoke_Tests_Project_maven_resources_plugin_default_testResources",
216+
"service" : "test-maven-service",
217+
"span_id" : ${content_span_id_4},
218+
"start" : ${content_start_6},
219+
"trace_id" : ${content_test_session_id}
220+
},
221+
"type" : "span",
222+
"version" : 1
223+
}, {
224+
"content" : {
225+
"duration" : ${content_duration_7},
226+
"error" : 0,
227+
"meta" : {
228+
"_dd.p.tid" : ${content_meta__dd_p_tid_7},
229+
"_dd.test.is_user_provided_service" : "true",
230+
"_dd.tracer_host" : ${content_meta__dd_tracer_host},
231+
"ci.workspace_path" : ${content_meta_ci_workspace_path},
232+
"component" : "junit",
233+
"env" : "integration-test",
234+
"language" : "jvm",
235+
"library_version" : ${content_meta_library_version},
236+
"os.architecture" : ${content_meta_os_architecture},
237+
"os.platform" : ${content_meta_os_platform},
238+
"os.version" : ${content_meta_os_version},
239+
"runtime-id" : ${content_meta_runtime_id_2},
240+
"runtime.name" : ${content_meta_runtime_name},
241+
"runtime.vendor" : ${content_meta_runtime_vendor},
242+
"runtime.version" : ${content_meta_runtime_version},
243+
"span.kind" : "test_suite_end",
244+
"test.framework" : "junit4",
245+
"test.framework_version" : "4.13.2",
246+
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
247+
"test.source.file" : "src/test/java/datadog/smoke/TestFailed.java",
248+
"test.status" : "skip",
249+
"test.suite" : "datadog.smoke.TestFailed",
250+
"test.type" : "test",
251+
"test_session.name" : "mvn -B test"
252+
},
253+
"metrics" : {
254+
"_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_3},
255+
"_dd.profiling.enabled" : 0,
256+
"_dd.trace_span_attribute_schema" : 0,
257+
"process_id" : ${content_metrics_process_id_2},
258+
"test.source.end" : 14,
259+
"test.source.start" : 7
260+
},
261+
"name" : "junit.test_suite",
262+
"resource" : "datadog.smoke.TestFailed",
263+
"service" : "test-maven-service",
264+
"start" : ${content_start_7},
265+
"test_module_id" : ${content_test_module_id},
266+
"test_session_id" : ${content_test_session_id},
267+
"test_suite_id" : ${content_test_suite_id}
268+
},
269+
"type" : "test_suite_end",
270+
"version" : 1
271+
}, {
272+
"content" : {
273+
"duration" : ${content_duration_8},
274+
"error" : 0,
275+
"meta" : {
276+
"_dd.p.tid" : ${content_meta__dd_p_tid_8},
277+
"_dd.test.is_user_provided_service" : "true",
278+
"_dd.tracer_host" : ${content_meta__dd_tracer_host},
279+
"ci.workspace_path" : ${content_meta_ci_workspace_path},
280+
"component" : "junit",
281+
"env" : "integration-test",
282+
"language" : "jvm",
283+
"library_version" : ${content_meta_library_version},
284+
"os.architecture" : ${content_meta_os_architecture},
285+
"os.platform" : ${content_meta_os_platform},
286+
"os.version" : ${content_meta_os_version},
287+
"runtime-id" : ${content_meta_runtime_id_2},
288+
"runtime.name" : ${content_meta_runtime_name},
289+
"runtime.vendor" : ${content_meta_runtime_vendor},
290+
"runtime.version" : ${content_meta_runtime_version},
291+
"span.kind" : "test",
292+
"test.framework" : "junit4",
293+
"test.framework_version" : "4.13.2",
294+
"test.module" : "Maven Smoke Tests Project maven-surefire-plugin default-test",
295+
"test.name" : "test_failed",
296+
"test.skip_reason" : "Flaky test is disabled by Datadog",
297+
"test.source.file" : "src/test/java/datadog/smoke/TestFailed.java",
298+
"test.source.method" : "test_failed()V",
299+
"test.status" : "skip",
300+
"test.suite" : "datadog.smoke.TestFailed",
301+
"test.test_management.is_test_disabled" : "true",
302+
"test.type" : "test",
303+
"test_session.name" : "mvn -B test"
304+
},
305+
"metrics" : {
306+
"_dd.host.vcpu_count" : ${content_metrics__dd_host_vcpu_count_4},
307+
"_dd.profiling.enabled" : 0,
308+
"_dd.trace_span_attribute_schema" : 0,
309+
"process_id" : ${content_metrics_process_id_2},
310+
"test.source.end" : 12,
311+
"test.source.start" : 9
312+
},
313+
"name" : "junit.test",
314+
"parent_id" : ${content_parent_id},
315+
"resource" : "datadog.smoke.TestFailed.test_failed",
316+
"service" : "test-maven-service",
317+
"span_id" : ${content_span_id_5},
318+
"start" : ${content_start_8},
319+
"test_module_id" : ${content_test_module_id},
320+
"test_session_id" : ${content_test_session_id},
321+
"test_suite_id" : ${content_test_suite_id},
322+
"trace_id" : ${content_trace_id}
323+
},
324+
"type" : "test",
325+
"version" : 2
326+
} ]

0 commit comments

Comments
 (0)