Skip to content

Commit 68ab0f3

Browse files
Kazuhisa Takakurijerboaa
Kazuhisa Takakuri
authored andcommitted
8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Reviewed-by: phh Backport-of: 4144ef36bcefb0ba597be9c871b15be5043ad231
1 parent 0e0b018 commit 68ab0f3

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

jdk/test/java/lang/instrument/BootClassPath/BootClassPathTest.sh

+13-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,18 @@ echo "Creating manifest file..."
6363
# java Setup <workdir> <premain-class>
6464
# - outputs boot class path to boot.dir
6565

66-
"$JAVA" ${TESTVMOPTS} -classpath "${TESTCLASSES}" Setup "${TESTCLASSES}" Agent
66+
OS=`uname -s`
67+
case ${OS} in
68+
CYGWIN*)
69+
CYGWIN="CYGWIN"
70+
;;
71+
*)
72+
CYGWIN=""
73+
;;
74+
esac
75+
76+
"$JAVA" ${TESTVMOPTS} -classpath "${TESTCLASSES}" Setup "${TESTCLASSES}" Agent "${CYGWIN}"
77+
6778
BOOTDIR=`cat ${TESTCLASSES}/boot.dir`
6879

6980
echo "Created ${BOOTDIR}"

jdk/test/java/lang/instrument/BootClassPath/Setup.java

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
2+
* Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved.
33
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
*
55
* This code is free software; you can redistribute it and/or modify it
@@ -45,6 +45,10 @@ public static void main(String[] args) throws Exception {
4545
}
4646
String workDir = args[0];
4747
String premainClass = args[1];
48+
boolean isCygwin = false;
49+
if (args.length==3 && args[2].equals("CYGWIN")) {
50+
isCygwin = true;
51+
}
4852

4953
String manifestFile = workDir + fileSeparator + "MANIFEST.MF";
5054
String bootClassPath = "boot" + suffix();
@@ -87,7 +91,12 @@ public static void main(String[] args) throws Exception {
8791
*/
8892
f = new File(workDir + fileSeparator + "boot.dir");
8993
try (FileOutputStream out = new FileOutputStream(f)) {
90-
out.write(bootDir.getBytes(defaultEncoding));
94+
if (osName.startsWith("Windows") && isCygwin) {
95+
out.write(bootDir.getBytes("UTF-8"));
96+
}
97+
else {
98+
out.write(bootDir.getBytes(defaultEncoding));
99+
}
91100
}
92101
}
93102

0 commit comments

Comments
 (0)