Skip to content

Commit 947dfc4

Browse files
Kimura YukihiroPaul Hohensee
Kimura Yukihiro
authored and
Paul Hohensee
committed
8318410: jdk/java/lang/instrument/BootClassPath/BootClassPathTest.sh fails on Japanese Windows
Backport-of: d051f22284e7ccc288c658588f73da672d9bfacd
1 parent dcf6eea commit 947dfc4

File tree

2 files changed

+39
-19
lines changed

2 files changed

+39
-19
lines changed

test/jdk/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, 2021, 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
@@ -64,7 +64,18 @@ echo "Creating manifest file..."
6464
# java Setup <workdir> <premain-class>
6565
# - outputs boot class path to boot.dir
6666

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

7081
echo "Created ${BOOTDIR}"

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

+26-17
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2004, 2021, 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();
@@ -94,7 +98,12 @@ public static void main(String[] args) throws Exception {
9498
*/
9599
f = new File(workDir + fileSeparator + "boot.dir");
96100
try (FileOutputStream out = new FileOutputStream(f)) {
97-
out.write(bootDir.getBytes(filePathEncoding));
101+
if (osName.startsWith("Windows") && isCygwin) {
102+
out.write(bootDir.getBytes("UTF-8"));
103+
}
104+
else {
105+
out.write(bootDir.getBytes(filePathEncoding));
106+
}
98107
}
99108
}
100109

@@ -131,39 +140,39 @@ private static String suffix() {
131140
// Use null if encoding isn't used.
132141
String[][] names = {
133142
{ "UTF-8", unicode, "" },
134-
{ "windows-1256", null, "" },
143+
{ "Cp1256", null, "" },
135144
{ "iso-8859-6", arabic, null },
136145
{ "GBK", s_chinese, s_chinese },
137146
{ "GB18030", s_chinese, s_chinese },
138147
{ "GB2312", s_chinese, null },
139-
{ "x-windows-950", null, t_chinese },
140-
{ "x-MS950-HKSCS", null, t_chinese },
141-
{ "x-euc-tw", t_chinese, null },
148+
{ "MS950", null, t_chinese },
149+
{ "MS950_HKSCS_XP", null, t_chinese },
150+
{ "EUC-TW", t_chinese, null },
142151
{ "Big5", t_chinese, null },
143152
{ "Big5-HKSCS", t_chinese, null },
144153
{ "windows-1251", null, "" },
145154
{ "iso-8859-5", russian, null },
146155
{ "koi8-r", russian, null },
147-
{ "windows-1253", null, "" },
156+
{ "Cp1253", null, "" },
148157
{ "iso-8859-7", greek, null },
149-
{ "windows-1255", null, "" },
150-
{ "iso8859-8", hebrew, null },
151-
{ "windows-31j", null, japanese },
158+
{ "Cp1255", null, "" },
159+
{ "iso-8859-8", hebrew, null },
160+
{ "MS932", null, japanese },
152161
{ "x-eucJP-Open", japanese, null },
153-
{ "x-EUC-JP-LINUX", japanese, null },
162+
{ "EUC-JP-LINUX", japanese, null },
154163
{ "x-pck", japanese, null },
155-
{ "x-windows-949", null, korean },
164+
{ "MS949", null, korean },
156165
{ "euc-kr", korean, null },
157-
{ "windows-1257", null, "" },
166+
{ "Cp1257", null, "" },
158167
{ "iso-8859-13", lithuanian, null },
159-
{ "windows-1250", null, "" },
168+
{ "Cp1250", null, "" },
160169
{ "iso-8859-2", czech, null },
161-
{ "windows-1254", null, "" },
170+
{ "Cp1254", null, "" },
162171
{ "iso-8859-9", turkish, null },
163-
{ "windows-1252", null, "" },
172+
{ "Cp1252", null, "" },
164173
{ "iso-8859-1", spanish, null },
165174
{ "iso-8859-15", spanish, null },
166-
{ "x-windows-874", null, thai },
175+
{ "MS874", null, thai },
167176
{ "tis-620", thai, null },
168177
};
169178

0 commit comments

Comments
 (0)