Skip to content

Commit 3c57d95

Browse files
committed
fix
1 parent 7b1eb1a commit 3c57d95

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

smoke-tests/apps/AzureFunctions/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/ConsumptionPlanDisabledTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ abstract class ConsumptionPlanDisabledTest {
2424
static final SmokeTestExtension testing =
2525
SmokeTestExtension.builder()
2626
.doNotSetConnectionString()
27+
.setSkipHealthCheck(true)
2728
.setEnvVar("FUNCTIONS_WORKER_RUNTIME", "java")
2829
.setEnvVar("APPLICATIONINSIGHTS_ENABLE_AGENT", "false")
29-
.setSkipHealthCheck(true)
30+
// need to --add-opens for Java 17+ in order to set env var at runtime in SpringBootApp
31+
.addJvmArg("-XX:+IgnoreUnrecognizedVMOptions")
32+
.addJvmArg("--add-opens=java.base/java.util=ALL-UNNAMED")
3033
.build();
3134

3235
@Test

smoke-tests/apps/AzureFunctions/src/smokeTest/java/com/microsoft/applicationinsights/smoketest/ConsumptionPlanEnabledTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@ abstract class ConsumptionPlanEnabledTest {
2424
static final SmokeTestExtension testing =
2525
SmokeTestExtension.builder()
2626
.doNotSetConnectionString()
27+
.setSkipHealthCheck(true) // to be consistent with the disabled test
2728
.setEnvVar("FUNCTIONS_WORKER_RUNTIME", "java")
2829
.setEnvVar("APPLICATIONINSIGHTS_ENABLE_AGENT", "true")
29-
.setSkipHealthCheck(true) // to be consistent with the disabled test
30+
// need to --add-opens for Java 17+ in order to set env var at runtime in SpringBootApp
31+
.addJvmArg("-XX:+IgnoreUnrecognizedVMOptions")
32+
.addJvmArg("--add-opens=java.base/java.util=ALL-UNNAMED")
3033
.build();
3134

3235
@Test

smoke-tests/framework/src/main/java/com/microsoft/applicationinsights/smoketest/SmokeTestExtension.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ public class SmokeTestExtension
105105
private final File agentExtensionFile;
106106
private final Map<String, String> httpHeaders;
107107
private final Map<String, String> envVars;
108+
private final List<String> jvmArgs;
108109
private final boolean useDefaultHttpPort;
109110
private final boolean useOtlpEndpoint;
110111

@@ -130,6 +131,7 @@ public static SmokeTestExtensionBuilder builder() {
130131
ProfilerState profilerState,
131132
Map<String, String> httpHeaders,
132133
Map<String, String> envVars,
134+
List<String> jvmArgs,
133135
boolean useDefaultHttpPort,
134136
boolean useOtlpEndpoint) {
135137
this.skipHealthCheck = skipHealthCheck;
@@ -158,6 +160,7 @@ public static SmokeTestExtensionBuilder builder() {
158160

159161
this.httpHeaders = httpHeaders;
160162
this.envVars = envVars;
163+
this.jvmArgs = jvmArgs;
161164
this.useDefaultHttpPort = useDefaultHttpPort;
162165
this.useOtlpEndpoint = useOtlpEndpoint;
163166
}
@@ -486,7 +489,12 @@ private void startTestApplicationContainer() throws Exception {
486489
}
487490

488491
if (appFile.getName().endsWith(".jar")) {
489-
container = container.withCommand("java -jar " + appFile.getName());
492+
List<String> parts = new ArrayList<>();
493+
parts.add("java");
494+
parts.addAll(jvmArgs);
495+
parts.add("-jar");
496+
parts.add(appFile.getName());
497+
container = container.withCommand(parts.toArray(new String[0]));
490498
}
491499

492500
if (readOnly) {

smoke-tests/framework/src/main/java/com/microsoft/applicationinsights/smoketest/SmokeTestExtensionBuilder.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
import com.microsoft.applicationinsights.smoketest.fakeingestion.ProfilerState;
77
import java.io.File;
8+
import java.util.ArrayList;
89
import java.util.HashMap;
10+
import java.util.List;
911
import java.util.Map;
1012
import org.testcontainers.containers.GenericContainer;
1113

@@ -24,6 +26,7 @@ public class SmokeTestExtensionBuilder {
2426
private ProfilerState profilerEndpointPath = ProfilerState.unconfigured;
2527
private final Map<String, String> httpHeaders = new HashMap<>();
2628
private final Map<String, String> envVars = new HashMap<>();
29+
private final List<String> jvmArgs = new ArrayList<>();
2730
private boolean useDefaultHttpPort;
2831
private boolean useOtlpEndpoint;
2932

@@ -90,6 +93,11 @@ public SmokeTestExtensionBuilder setEnvVar(String name, String value) {
9093
return this;
9194
}
9295

96+
public SmokeTestExtensionBuilder addJvmArg(String jvmArg) {
97+
jvmArgs.add(jvmArg);
98+
return this;
99+
}
100+
93101
public SmokeTestExtensionBuilder setUseDefaultHttpPort() {
94102
this.useDefaultHttpPort = true;
95103
return this;
@@ -115,6 +123,7 @@ public SmokeTestExtension build() {
115123
profilerEndpointPath,
116124
httpHeaders,
117125
envVars,
126+
jvmArgs,
118127
useDefaultHttpPort,
119128
useOtlpEndpoint);
120129
}

0 commit comments

Comments
 (0)