Skip to content

Commit 4b9aadc

Browse files
Fix for the InitializationTelemetryTest when running on Oracle JDK 8. (#8905)
1 parent d55b36f commit 4b9aadc

File tree

3 files changed

+18
-13
lines changed

3 files changed

+18
-13
lines changed

dd-java-agent/src/test/java/datadog/trace/agent/test/IntegrationTestUtils.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import datadog.trace.bootstrap.BootstrapProxy;
77
import java.io.BufferedReader;
88
import java.io.File;
9-
import java.io.FileOutputStream;
109
import java.io.IOException;
1110
import java.io.InputStream;
1211
import java.io.InputStreamReader;
@@ -15,6 +14,7 @@
1514
import java.lang.management.RuntimeMXBean;
1615
import java.lang.reflect.Field;
1716
import java.net.URL;
17+
import java.nio.file.Files;
1818
import java.util.ArrayList;
1919
import java.util.Arrays;
2020
import java.util.List;
@@ -65,26 +65,26 @@ public static URL createJarWithClasses(final Class<?>... classes) throws IOExcep
6565
*
6666
* <p>The jar file will be removed when the jvm exits.
6767
*
68-
* @param mainClassname The name of the class to use for Main-Class and Premain-Class. May be null
68+
* @param mainClassName The name of the class to use for Main-Class and Premain-Class. May be null
6969
* @param classes classes to package into the jar.
7070
* @return the location of the newly created jar.
7171
* @throws IOException
7272
*/
73-
public static File createJarFileWithClasses(final String mainClassname, final Class<?>... classes)
73+
public static File createJarFileWithClasses(final String mainClassName, final Class<?>... classes)
7474
throws IOException {
75-
final File tmpJar = File.createTempFile(UUID.randomUUID().toString() + "-", ".jar");
75+
final File tmpJar = File.createTempFile(UUID.randomUUID() + "-", ".jar");
7676
tmpJar.deleteOnExit();
7777

7878
final Manifest manifest = new Manifest();
79-
if (mainClassname != null) {
79+
if (mainClassName != null) {
8080
final Attributes mainAttributes = manifest.getMainAttributes();
8181
mainAttributes.put(Attributes.Name.MANIFEST_VERSION, "1.0");
82-
mainAttributes.put(Attributes.Name.MAIN_CLASS, mainClassname);
83-
mainAttributes.put(new Attributes.Name("Premain-Class"), mainClassname);
82+
mainAttributes.put(Attributes.Name.MAIN_CLASS, mainClassName);
83+
mainAttributes.put(new Attributes.Name("Premain-Class"), mainClassName);
8484
}
8585

8686
try (final JarOutputStream target =
87-
new JarOutputStream(new FileOutputStream(tmpJar), manifest)) {
87+
new JarOutputStream(Files.newOutputStream(tmpJar.toPath()), manifest)) {
8888
for (final Class<?> clazz : classes) {
8989
addToJar(clazz, target);
9090
}
@@ -93,10 +93,10 @@ public static File createJarFileWithClasses(final String mainClassname, final Cl
9393
return tmpJar;
9494
}
9595

96-
public static URL createJarWithClasses(final String mainClassname, final Class<?>... classes)
96+
public static URL createJarWithClasses(final String mainClassName, final Class<?>... classes)
9797
throws IOException {
9898

99-
return createJarFileWithClasses(mainClassname, classes).toURI().toURL();
99+
return createJarFileWithClasses(mainClassName, classes).toURI().toURL();
100100
}
101101

102102
private static void addToJar(final Class<?> clazz, final JarOutputStream jarOutputStream)
@@ -312,7 +312,7 @@ private StreamGobbler(final InputStream stream, final String type, final PrintSt
312312
public void run() {
313313
try {
314314
final BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
315-
String line = null;
315+
String line;
316316
while ((line = reader.readLine()) != null) {
317317
if (null != out) {
318318
out.println(type + "> " + line);

dd-java-agent/src/test/java/jvmbootstraptest/CustomSecurityManager.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,8 @@ protected final boolean defaultCheckFileReadPermission(
358358
|| isEtcFile(filePath)
359359
|| isTimeZoneDb(filePath)
360360
|| isNetProperties(filePath)
361-
|| isIbmFile(filePath);
361+
|| isIbmFile(filePath)
362+
|| isOracleFile(filePath);
362363
}
363364

364365
protected boolean checkFileWritePermission(FilePermission perm, Object ctx, String filePath) {
@@ -391,6 +392,10 @@ protected static final boolean isIbmFile(String filePath) {
391392
return filePath.endsWith("/tmp/.com_ibm_tools_attach");
392393
}
393394

395+
protected static final boolean isOracleFile(String filePath) {
396+
return filePath.contains("/oracle8");
397+
}
398+
394399
protected static final boolean isLibraryFile(String filePath) {
395400
return filePath.endsWith(".dylib") || filePath.endsWith(".so") || filePath.endsWith(".dll");
396401
}

dd-java-agent/src/test/java/jvmbootstraptest/InitializationTelemetryCheck.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ static final void write(File file, String... lines) throws IOException {
136136
Files.write(file.toPath(), Arrays.asList(lines));
137137
}
138138

139-
static final String read(File file) throws IOException {
139+
static final String read(File file) {
140140
try {
141141
return new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8);
142142
} catch (IOException e) {

0 commit comments

Comments
 (0)