Skip to content

Commit 9885025

Browse files
Mark AppSecActivationSmokeTest as flaky in oracle8 (#10037)
Mark AppSecActivationSmokeTest as flaky in oracle8
1 parent ea52d2d commit 9885025

File tree

13 files changed

+62
-61
lines changed

13 files changed

+62
-61
lines changed

components/environment/src/main/java/datadog/environment/JavaVirtualMachine.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,12 @@ public static boolean isJ9() {
108108
return SystemProperties.getOrDefault("java.vm.name", "").contains("J9");
109109
}
110110

111+
public static boolean isIbm() {
112+
return runtime.vendor.contains("IBM");
113+
}
114+
111115
public static boolean isIbm8() {
112-
return isJavaVersion(8) && runtime.vendor.contains("IBM");
116+
return isIbm() && isJavaVersion(8);
113117
}
114118

115119
public static boolean isGraalVM() {

components/environment/src/test/java/datadog/environment/JavaVirtualMachineTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ void onlyOnGraalVm() {
113113
@EnabledOnJre(JAVA_8)
114114
void onlyOnIbm8() {
115115
assertFalse(JavaVirtualMachine.isGraalVM());
116+
assertTrue(JavaVirtualMachine.isIbm());
116117
assertTrue(JavaVirtualMachine.isIbm8());
117118
assertTrue(JavaVirtualMachine.isJ9());
118119
assertFalse(JavaVirtualMachine.isOracleJDK8());

dd-smoke-tests/custom-systemloader/src/test/groovy/datadog/smoketest/CustomSystemLoaderSmokeTest.groovy

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package datadog.smoketest
22

3+
import datadog.environment.JavaVirtualMachine
34
import datadog.trace.test.util.Flaky
4-
import datadog.trace.test.util.Predicates.IBM
55

66
import static java.util.concurrent.TimeUnit.SECONDS
77

@@ -30,7 +30,7 @@ class CustomSystemLoaderSmokeTest extends AbstractSmokeTest {
3030
return processBuilder
3131
}
3232

33-
@Flaky(value = 'Race condition with IMB. Check APMAPI-1194', condition = IBM)
33+
@Flaky(value = 'Race condition with IMB. Check APMAPI-1194', condition = () -> JavaVirtualMachine.isIbm())
3434
def "resource types loaded by custom system class-loader are transformed"() {
3535
when:
3636
testedProcess.waitFor(TIMEOUT_SECS, SECONDS)
@@ -39,7 +39,8 @@ class CustomSystemLoaderSmokeTest extends AbstractSmokeTest {
3939
testedProcess.exitValue() == 0
4040
int loadedResources = 0
4141
int transformedResources = 0
42-
forEachLogLine { String it ->
42+
forEachLogLine {
43+
String it ->
4344
if (it =~ /Loading sample.app.Resource[$]Test[1-3] from TestLoader/) {
4445
loadedResources++
4546
}

dd-smoke-tests/dynamic-config/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ dependencies {
1313
implementation libs.slf4j
1414

1515
testImplementation project(':dd-smoke-tests')
16+
testImplementation project(':utils:test-utils')
1617
}
1718

1819
tasks.withType(Test).configureEach {

dd-smoke-tests/dynamic-config/src/test/groovy/datadog/smoketest/AppSecActivationSmokeTest.groovy

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package datadog.smoketest
22

3+
import datadog.environment.JavaVirtualMachine
34
import datadog.remoteconfig.Capabilities
45
import datadog.remoteconfig.Product
56
import datadog.smoketest.dynamicconfig.AppSecApplication
7+
import datadog.trace.test.util.Flaky
68

79
class AppSecActivationSmokeTest extends AbstractSmokeTest {
810

@@ -24,13 +26,17 @@ class AppSecActivationSmokeTest extends AbstractSmokeTest {
2426
processBuilder.directory(new File(buildDirectory))
2527
}
2628

29+
@Flaky(value = "Telemetry product change event flakes in oracle8", condition = () ->JavaVirtualMachine.isOracleJDK8())
2730
void 'test activation via RC workflow'() {
2831
given:
2932
final asmRuleProducts = [Product.ASM, Product.ASM_DD, Product.ASM_DATA]
3033

3134
when: 'appsec is enabled but inactive'
32-
final request = waitForRcClientRequest {req ->
33-
decodeProducts(req).find { asmRuleProducts.contains(it) } == null
35+
final request = waitForRcClientRequest {
36+
req ->
37+
decodeProducts(req).find {
38+
asmRuleProducts.contains(it)
39+
} == null
3440
}
3541
final capabilities = decodeCapabilities(request)
3642

@@ -44,23 +50,28 @@ class AppSecActivationSmokeTest extends AbstractSmokeTest {
4450
then: 'we should receive a product change for appsec'
4551
waitForTelemetryFlat {
4652
final configurations = (List<Map<String, Object>>) it?.payload?.configuration ?: []
47-
final enabledConfig = configurations.find { it.name == 'appsec_enabled' }
53+
final enabledConfig = configurations.find {
54+
it.name == 'appsec_enabled'
55+
}
4856
if (!enabledConfig) {
4957
return false
5058
}
5159
return enabledConfig.value == 'true' && enabledConfig .origin == 'remote_config'
5260
}
5361

5462
and: 'we should have set the capabilities for ASM rules and data'
55-
final newRequest = waitForRcClientRequest {req ->
63+
final newRequest = waitForRcClientRequest {
64+
req ->
5665
decodeProducts(req).containsAll(asmRuleProducts)
5766
}
5867
final newCapabilities = decodeCapabilities(newRequest)
5968
assert hasCapability(newCapabilities, Capabilities.CAPABILITY_ASM_CUSTOM_RULES)
6069
}
6170

6271
private static Set<Product> decodeProducts(final Map<String, Object> request) {
63-
return request.client.products.collect { Product.valueOf(it)}
72+
return request.client.products.collect {
73+
Product.valueOf(it)
74+
}
6475
}
6576

6677
private static long decodeCapabilities(final Map<String, Object> request) {

dd-smoke-tests/jersey-2/src/test/groovy/datadog/smoketest/Jersey2SmokeTest.groovy

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package datadog.smoketest
33
import datadog.environment.JavaVirtualMachine
44
import datadog.trace.api.config.IastConfig
55
import datadog.trace.test.util.Flaky
6-
import datadog.trace.test.util.Predicates.IBM8
76

87
import static datadog.trace.api.iast.IastContext.Mode.GLOBAL
98

@@ -35,7 +34,7 @@ class Jersey2SmokeTest extends AbstractJerseySmokeTest {
3534
]
3635
}
3736

38-
@Flaky(value = 'global context is flaky under IBM8', condition = IBM8)
37+
@Flaky(value = 'global context is flaky under IBM8', condition = () -> JavaVirtualMachine.isIbm8())
3938
static class WithGlobalContext extends Jersey2SmokeTest {
4039
@Override
4140
protected List<String> iastJvmOpts() {

dd-smoke-tests/jersey-3/src/test/groovy/datadog/smoketest/Jersey3SmokeTest.groovy

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

3-
import datadog.trace.test.util.Predicates.IBM8
3+
import datadog.environment.JavaVirtualMachine
44
import datadog.trace.test.util.Flaky
55

66
import static datadog.trace.api.config.IastConfig.*
@@ -31,7 +31,7 @@ class Jersey3SmokeTest extends AbstractJerseySmokeTest {
3131
]
3232
}
3333

34-
@Flaky(value = 'global context is flaky under IBM8', condition = IBM8)
34+
@Flaky(value = 'global context is flaky under IBM8', condition = () -> JavaVirtualMachine.isIbm8())
3535
static class WithGlobalContext extends Jersey3SmokeTest {
3636
@Override
3737
protected List<String> iastJvmOpts() {

dd-smoke-tests/log-injection/src/test/groovy/datadog/smoketest/LogInjectionSmokeTest.groovy

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ package datadog.smoketest
22

33
import com.squareup.moshi.Moshi
44
import com.squareup.moshi.Types
5+
import datadog.environment.JavaVirtualMachine
56
import datadog.trace.api.config.GeneralConfig
67
import datadog.trace.test.util.Flaky
78
import spock.lang.AutoCleanup
89
import spock.lang.Shared
910

1011
import static datadog.trace.api.config.TraceInstrumentationConfig.TRACE_128_BIT_TRACEID_LOGGING_ENABLED
1112
import static datadog.trace.api.config.TracerConfig.TRACE_128_BIT_TRACEID_GENERATION_ENABLED
12-
import static datadog.trace.test.util.Predicates.IBM8
1313
import static java.util.concurrent.TimeUnit.SECONDS
1414

1515
/**
@@ -256,7 +256,7 @@ abstract class LogInjectionSmokeTest extends AbstractSmokeTest {
256256
return unmangled.split(" ")[1..2]
257257
}
258258

259-
@Flaky(condition = IBM8)
259+
@Flaky(condition = () -> JavaVirtualMachine.isIbm8())
260260
def "check raw file injection"() {
261261
when:
262262
def count = waitForTraceCount(2)
@@ -284,10 +284,18 @@ abstract class LogInjectionSmokeTest extends AbstractSmokeTest {
284284
println "json log lines: " + jsonLogLines
285285

286286
def stdOutLines = new File(logFilePath).readLines()
287-
def (String firstTraceId, String firstSpanId) = parseTraceFromStdOut(stdOutLines.find { it.contains("FIRSTTRACEID")})
288-
def (String secondTraceId, String secondSpanId) = parseTraceFromStdOut(stdOutLines.find { it.contains("SECONDTRACEID")})
289-
def (String thirdTraceId, String thirdSpanId) = parseTraceFromStdOut(stdOutLines.find { it.contains("THIRDTRACEID")})
290-
def (String forthTraceId, String forthSpanId) = parseTraceFromStdOut(stdOutLines.find { it.contains("FORTHTRACEID")})
287+
def (String firstTraceId, String firstSpanId) = parseTraceFromStdOut(stdOutLines.find {
288+
it.contains("FIRSTTRACEID")
289+
})
290+
def (String secondTraceId, String secondSpanId) = parseTraceFromStdOut(stdOutLines.find {
291+
it.contains("SECONDTRACEID")
292+
})
293+
def (String thirdTraceId, String thirdSpanId) = parseTraceFromStdOut(stdOutLines.find {
294+
it.contains("THIRDTRACEID")
295+
})
296+
def (String forthTraceId, String forthSpanId) = parseTraceFromStdOut(stdOutLines.find {
297+
it.contains("FORTHTRACEID")
298+
})
291299

292300
then:
293301
exitValue == 0

dd-smoke-tests/sample-trace/src/test/groovy/datadog/smoketest/SampleTraceSmokeTest.groovy

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package datadog.smoketest
22

3+
import datadog.environment.JavaVirtualMachine
34
import datadog.trace.test.util.Flaky
45

5-
import static datadog.trace.test.util.Predicates.IBM
6-
76
class SampleTraceSmokeTest extends AbstractSmokeTest {
87

98
@Override
@@ -25,7 +24,7 @@ class SampleTraceSmokeTest extends AbstractSmokeTest {
2524
processBuilder.directory(new File(buildDirectory))
2625
}
2726

28-
@Flaky(condition = IBM)
27+
@Flaky(condition = () -> JavaVirtualMachine.isIbm())
2928
def 'sample traces are sent'() {
3029
when:
3130
waitForTraceCount(10)

dd-smoke-tests/spring-boot-2.6-webmvc/src/test/groovy/IastSpringBootSmokeTest.groovy

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1+
import datadog.environment.JavaVirtualMachine
12
import datadog.smoketest.AbstractIastSpringBootTest
23
import datadog.trace.api.config.IastConfig
3-
import datadog.trace.test.util.Predicates.IBM8
44
import datadog.trace.test.util.Flaky
55

66
import static datadog.trace.api.iast.IastContext.Mode.GLOBAL
77

88
class IastSpringBootSmokeTest extends AbstractIastSpringBootTest {
99

10-
@Flaky(value = 'global context is flaky under IBM8', condition = IBM8)
10+
@Flaky(value = 'global context is flaky under IBM8', condition = () -> JavaVirtualMachine.isIbm8())
1111
static class WithGlobalContext extends IastSpringBootSmokeTest {
1212
@Override
1313
protected List<String> iastJvmOpts() {

0 commit comments

Comments
 (0)