Compare commits

...

54 Commits

Author SHA1 Message Date
Nikita Gubarkov
7e7c22aef2 JBR-2466 Fixed configure from WSL 2020-06-05 20:36:35 +03:00
Nikita Gubarkov
1919ab7dc7 JBR-2465 Build failure with VS 2019 (16.5.0) due to C2039 and C2873 2020-06-05 19:53:36 +03:00
Yasumasa Suenaga
72bb0377bf JBR-2465 Backport: 8241087: Build failure with VS 2019 (16.5.0) due to C2039 and C2873
Reviewed-by: serb
2020-06-05 19:52:45 +03:00
Vitaly Provodin
9ec79f6621 updated JTreg exclude list 2020-06-03 17:24:43 +07:00
Prasanta Sadhukhan
6a59e22849 8236635: JTabbedPane preferred size calculation is wrong for SCROLL_TAB_LAYOUT
Reviewed-by: serb, pbansal
2020-06-03 17:24:07 +07:00
Sergey Bylokhov
40ed05e18a 8196181: sun/java2d/GdiRendering/InsetClipping.java fails
Reviewed-by: jdv
2020-06-03 06:18:22 +07:00
Erik Gahlin
8ef9248d62 8219686: jdk/jfr/event/runtime/TestShutdownEvent.java recording file length is 0
Reviewed-by: mgronlun, mseledtsov
2020-06-03 06:17:13 +07:00
Prasanta Sadhukhan
0e555a02fa 8226230: Test javax/swing/JInternalFrame/8020708/bug8020708.java fails on Ubuntu
Reviewed-by: serb
2020-06-02 08:23:51 +07:00
Vitaly Provodin
ec04f240d0 updated JTreg exclude list 2020-05-28 11:43:10 +07:00
Tejpal Rebari
7f16bf3d2a 8233559: [TESTBUG] TestNimbusOverride.java is failing on macos
Reviewed-by: psadhukhan, pbansal
2020-05-27 13:05:35 +07:00
Vyacheslav Moklev
01b1e43caf JBR-1274 Common Item Dialog sometimes crash the process
Prevent from freeing memory with CoTaskMemFree twice

(cherry picked from commit 94c75b0537)
2020-05-27 00:13:52 +03:00
Vyacheslav Moklev
a088ea7a22 JBR-1273 Common Item Dialog does not open when wrong path to directory is passed
Handle set directory / set file properly

(cherry picked from commit bff7dfddfb)
2020-05-26 23:48:46 +03:00
Vyacheslav Moklev
0e6072ffc4 JBR-1271 Wrong parent of native windows dialogs
Set a proper parent to a dialog window

(cherry picked from commit 6ecbc2736b)
2020-05-26 23:47:27 +03:00
Vyacheslav Moklev
fd420cda55 JBR-1269 Common Item Dialog does not appear on Alt+Tab or click in windows toolbar
JBR-1270 Common Item Dialog does not have an icon

Select a proper window handle

(cherry picked from commit 8cde9502f1)
2020-05-26 23:47:09 +03:00
Vyacheslav Moklev
8efe07ac52 JBR-1258 CommonItemDialog ignores directory to open
Fix parsing of directory path / file path

(cherry picked from commit 04112e6f90)
2020-05-26 23:37:46 +03:00
Vyacheslav Moklev
f685f2dac1 JBR-1257 CommonItemDialog modal window has no owner
Fix modality for Common Item Dialog

(cherry picked from commit e0c79eb54f)
2020-05-26 23:36:03 +03:00
Vyacheslav Moklev
5505211785 JRE-1216 Implement Windows native file dialogs with the new Common Item Dialog API
Add implementation of file dialogs with the new Common Items Dialog API

(cherry picked from commit 764909ce2a)
Also fixed memory leak of fileBuffer
2020-05-26 23:35:05 +03:00
Vitaly Provodin
feacdbe1ed updated JTreg exclude list 2020-05-23 07:06:28 +07:00
Eugene Petrenko
bd239e2e67 cds - add more logging to -Xshare:dump errors
log exception along with "Preload Warning: Verification failed" warning messages
advanced debug logging to diagnose listed class was not defined error from -Xshare:dump
more detailed error logging from the Xshare:dump phase

(cherry picked from commit 82dcb03358)
2020-05-22 18:20:11 +03:00
Vitaly Provodin
0baf10364a updated JTreg exclude list 2020-05-22 18:20:38 +07:00
Prasanta Sadhukhan
2e2fe0daa7 8239312: [macos] javax/swing/JFrame/NSTexturedJFrame/NSTexturedJFrame.java
Reviewed-by: serb
2020-05-22 18:19:48 +07:00
Sergey Bylokhov
6cab3cee0d 8235153: [TESTBUG] [macos 10.15] java/awt/Graphics/DrawImageBG/SystemBgColorTest.java fails
Reviewed-by: aivanov
2020-05-22 18:19:48 +07:00
Phil Race
48607c2bd8 8223935: PIT: java/awt/font/WindowsIndicFonts.java fails on windows10
Reviewed-by: serb, jdv
2020-05-22 18:18:25 +07:00
Eugene Petrenko
1d90a4efaf cds - log exception along with "Preload Warning: Verification failed" warning messages
(cherry picked from commit c3839647c6)
2020-05-21 20:59:18 +03:00
Vitaly Provodin
61315cec50 updated JTreg exclude list 2020-05-20 06:06:45 +07:00
Vitaly Provodin
6c277514cd JBR-2395 eliminate JavaFX from JBR (follow up x64 packaging) 2020-05-20 05:49:36 +07:00
Vitaly Provodin
b3f7acae0e JBR-2409 fix prameters for configure 2020-05-19 18:11:04 +07:00
Vitaly Provodin
d3d647482c JBR-2395 eliminate JavaFX from JBR (fix misprint) 2020-05-19 18:10:05 +07:00
Vitaly Provodin
a438190dd0 add git into image for Linux x86 2020-05-19 18:10:04 +07:00
Vitaly Provodin
077c459a42 JDK14: exclude dependencies on jcef in x86, fastdebug builds 2020-05-19 18:10:04 +07:00
Vitaly Provodin
88a9f6aac1 add docker files for Linux x64 and x86 2020-05-17 20:02:17 +07:00
Vitaly Provodin
77edf91292 8234596 remove of Pack200 Tools and API 2020-05-17 05:30:19 +07:00
Vitaly Provodin
1871da9d1c JBR-2395 eliminate JavaFX from JBR 2020-05-17 05:30:19 +07:00
Vitaly Provodin
b63167860a JBR-2396 fix CONF names 2020-05-17 05:30:19 +07:00
Vitaly Provodin
de199a7120 JBR-2394 replace --disable-debug-symbols with --with-native-debug-symbols=none 2020-05-17 05:30:19 +07:00
Vitaly Provodin
862d57aa49 add exec permitions to configure 2020-05-15 12:10:04 +07:00
Vitaly Provodin
405c69f3cb split checkout before building JBR+JFX or JBR+JCEF on two separate commands 2020-05-15 12:08:17 +07:00
Vitaly Provodin
d461bf7869 change BOOT_JDK, fix target names 2020-05-15 12:03:15 +07:00
Vitaly Provodin
9fa51d6334 change BOOT_JDK 2020-05-15 11:40:30 +07:00
Vitaly Provodin
69e522b1c6 JBR-2291 add vendor info into bundles 2020-05-15 11:38:10 +07:00
Vitaly Provodin
3105f0cd04 JBR-2324 address new layout in mac jcef 80.0.4+g74f7b0c+chromium-80.0.3987.122 2020-05-15 09:57:24 +07:00
Vitaly Provodin
59ce59ba82 JBR-2320 add jdk.attach module into JBR 2020-05-15 09:57:24 +07:00
Vitaly Provodin
8ca73521c2 JBR-2217 provide JCEF-only (no JavaFX) bundle for master/202 branches 2020-05-15 09:57:24 +07:00
Vitaly Provodin
d0f24cad2c JBR-2212 add scripts for linux_x86, linux_aarch64, linux_x64_fastdebug, osx_fastdebug, windows_x86 2020-05-15 09:57:24 +07:00
Vitaly Provodin
f7909316f1 JBR-1643 fix intermittent fialures of Windows builds at make/Init.gmk:304
combine images and test-image into one make invocation
2020-05-15 09:57:23 +07:00
Vitaly Provodin
d900c998b4 JBR-2181 create two separate JBR bundles with JFX and JFX+JCEF 2020-05-15 09:57:23 +07:00
Vitaly Provodin
18ce94e157 JBR-2148 modify signapp&build scripts to match to the new layout 2020-05-15 09:57:23 +07:00
Vitaly Provodin
768cbfdb61 JBR-2084 modify scripts to sign Contents/MacOS/libjli.dylib as a a normal file 2020-05-15 09:57:23 +07:00
Vitaly Provodin
7cb7464329 JBR-1821 notarize JBR bundles as a standalone app 2020-05-15 09:57:23 +07:00
Vitaly Provodin
ab19e95c30 JBR-2162 move building scripts from TC to JBR repo 2020-05-15 09:57:23 +07:00
Anton Tarasov
b8a4deee83 JBR-2016 add jcef module and export some sun.* packages to it 2020-05-15 09:57:23 +07:00
Vitaly Provodin
4de7d27f51 JBR-2014 add jdk.hotspot.agent module to jbr 2020-05-15 09:57:22 +07:00
Vitaly Provodin
ddab99867f JBR-1286 add jdk.compiler into JBR 2020-05-15 09:57:22 +07:00
Vitaly Provodin
57a54f2c11 JBR-1199 add JBR modules list for jlink 2020-05-15 09:57:17 +07:00
41 changed files with 3271 additions and 152 deletions

0
configure vendored Normal file → Executable file
View File

View File

@@ -0,0 +1,9 @@
# jetbrains/runtime:jbr14env
FROM centos:7
RUN yum -y install zip bzip2 unzip tar wget make autoconf automake libtool gcc gcc-c++ libstdc++-devel alsa-devel cups-devel xorg-x11-devel libjpeg62-devel giflib-devel freetype-devel file which libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel git
# Install Java 13
RUN wget https://download.java.net/java/GA/jdk13.0.1/cec27d702aa74d5a8630c65ae61e4305/9/GPL/openjdk-13.0.1_linux-x64_bin.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /jbrsdk
ENV PATH $JAVA_HOME/bin:$PATH

View File

@@ -0,0 +1,10 @@
FROM i386/ubuntu:xenial
RUN linux32 apt-get update && apt-get install -y --no-install-recommends apt-utils
RUN linux32 apt-get -y install file build-essential zip unzip tar wget curl libx11-dev libxext-dev \
libxrender-dev libxrandr-dev libxtst-dev libxt-dev libcups2-dev libasound2-data \
libpng12-0 libasound2 libfreetype6 libfontconfig1-dev libasound2-dev autoconf git
RUN wget https://cdn.azul.com/zulu/bin/zulu13.31.11-ca-jdk13.0.3-linux_i686.tar.gz \
-O - | tar xz -C /
ENV JAVA_HOME /zulu13.31.11-ca-jdk13.0.3-linux_i686
ENV PATH $JAVA_HOME/bin:$PATH

View File

@@ -0,0 +1,3 @@
VENDOR_NAME="JetBrains s.r.o."
VENDOR_VERSION_STRING="JBR-${JBSDK_VERSION_WITH_DOTS}.${JDK_BUILD_NUMBER}-${build_number}"
[ -z ${bundle_type} ] || VENDOR_VERSION_STRING="${VENDOR_VERSION_STRING}-${bundle_type}"

View File

@@ -0,0 +1,34 @@
Index: modules.list
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules.list (revision a73d4ecbefe65fd6d79b78663d916ff71b5346f7)
+++ modules.list (date 1589581743550)
@@ -54,5 +54,4 @@
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
-jdk.hotspot.agent,
-jcef
+jdk.hotspot.agent
Index: src/java.desktop/share/classes/module-info.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/java.desktop/share/classes/module-info.java (revision a73d4ecbefe65fd6d79b78663d916ff71b5346f7)
+++ src/java.desktop/share/classes/module-info.java (date 1589581743547)
@@ -109,11 +109,7 @@
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
- jdk.unsupported.desktop,
- jcef;
-
- exports sun.lwawt.macosx to jcef;
- exports sun.lwawt to jcef;
+ jdk.unsupported.desktop;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -0,0 +1,85 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-aarch64-server-release || exit $?
make images CONF=linux-aarch64-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-aarch64-b${build_number}
BASE_DIR=build/linux-aarch64-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-aarch64-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.aarch64
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.aarch64 | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-aarch64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -0,0 +1,110 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles with jcef
# empty - the bundles without jcef
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
if [ -z "${bundle_type}" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
JBR_BASE_NAME=${JBR_BUNDLE}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
rm -rf ${BASE_DIR}/jbr
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JBR=$JBR_BASE_NAME-linux-x64-b$build_number
echo Running jlink....
$JSDK/bin/jlink \
--module-path $JSDK/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output $BASE_DIR/$JBR_BUNDLE
if [ ! -z "${bundle_type}" ]; then
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
fi
grep -v "^JAVA_VERSION" $JSDK/release | grep -v "^MODULES" >> $BASE_DIR/$JBR_BUNDLE/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR jbr || exit $?
gzip $JBR.tar || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
git checkout -- modules.list
git checkout -- src/java.desktop/share/classes/module-info.java
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make images CONF=linux-x86_64-server-release || exit $?
JSDK=build/linux-x86_64-server-release/images/jdk
JBSDK=$JBRSDK_BASE_NAME-linux-x64-b$build_number
echo Fixing permissions
chmod -R a+r $JSDK
BASE_DIR=build/linux-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR $JBRSDK_BUNDLE || exit $?
gzip $JBSDK.tar || exit $?
create_jbr || exit $?
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x64-b$build_number
echo Creating $JBSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -0,0 +1,82 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-x86_64-server-fastdebug || exit $?
make images CONF=linux-x86_64-server-fastdebug || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x64-fastdebug-b${build_number}
BASE_DIR=build/linux-x86_64-server-fastdebug/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBRSDK_BUNDLE/lib || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar \
--exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man \
-C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x64-fastdebug-b$build_number
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g | sed s/,$//g) \
--output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
cp -R jcef_linux_x64/* $BASE_DIR/$JBR_BUNDLE/lib || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -czf $JBR.tar -C $BASE_DIR ${JBR_BUNDLE} || exit $?
gzip $JBR.tar || exit $?

View File

@@ -0,0 +1,81 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
linux32 bash configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=$JDK_BUILD_NUMBER \
--with-version-opt=b${build_number} \
--with-boot-jdk=${BOOT_JDK} \
--enable-cds=yes || exit $?
make clean CONF=linux-x86-server-release || exit $?
make images CONF=linux-x86-server-release test-image || exit $?
JBSDK=${JBRSDK_BASE_NAME}-linux-x86-b${build_number}
BASE_DIR=build/linux-x86-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
echo Fixing permissions
chmod -R a+r $JSDK
rm -rf $BASE_DIR/$JBRSDK_BUNDLE
cp -r $JSDK $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/release
tar -pcf $JBSDK.tar --exclude=*.debuginfo --exclude=demo --exclude=sample --exclude=man -C $BASE_DIR ${JBRSDK_BUNDLE} || exit $?
gzip $JBSDK.tar || exit $?
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-$JBSDK_VERSION
rm -rf $BASE_DIR/$JBR_BUNDLE
JBR=$JBR_BASE_NAME-linux-x86-b$build_number
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g | sed s/,$//g) --output ${BASE_DIR}/${JBR_BUNDLE} || exit $?
echo Modifying release info ...
grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${BASE_DIR}/${JBR_BUNDLE}/release
echo Creating $JBR.tar.gz ...
tar -pcf $JBR.tar -C $BASE_DIR $JBR_BUNDLE || exit $?
gzip $JBR.tar || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-linux-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
tar -pcf $JBRSDK_TEST.tar -C $BASE_DIR --exclude='test/jdk/demos' --exclude='test/hotspot/gtest' test || exit $?
gzip $JBRSDK_TEST.tar || exit $?

View File

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.disable-executable-page-protection</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,116 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles with jcef
# empty - the bundles without jcef
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
MAJOR_JBSDK_VERSION=$(echo $JBSDK_VERSION_WITH_DOTS | awk -F "." '{print $1}')
source jb/project/tools/common.sh
function create_jbr {
if [ -z "${bundle_type}" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
JBR_BASE_NAME=${JBR_BUNDLE}-${JBSDK_VERSION}
cat modules.list > modules_tmp.list
rm -rf ${BASE_DIR}/jbr
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
JRE_CONTENTS=${BASE_DIR}/${JBR_BUNDLE}/Contents
JRE_HOME=${JRE_CONTENTS}/Home
if [ -d "${JRE_CONTENTS}" ]; then
rm -rf ${JRE_CONTENTS}
fi
mkdir -p ${JRE_CONTENTS}
JBR=${JBR_BASE_NAME}-osx-x64-b${build_number}
echo Running jlink....
${BASE_DIR}/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JRE_HOME} || exit $?
grep -v "^JAVA_VERSION" ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release | grep -v "^MODULES" >> ${JRE_HOME}/release
cp -R ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/MacOS ${JRE_CONTENTS}
cp ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Info.plist ${JRE_CONTENTS}
rm -rf ${JRE_CONTENTS}/Frameworks || exit $?
[ ! -z "${bundle_type}" ] && (cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?)
echo Creating ${JBR}.tar.gz ...
[ ! -z "${bundle_type}" ] && cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
COPYFILE_DISABLE=1 tar -pczf ${JBR}.tar.gz --exclude='*.dSYM' --exclude='man' -C ${BASE_DIR} jbr || exit $?
rm -rf ${BASE_DIR}/${JBR_BUNDLE}
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
git checkout -- modules.list
git checkout -- src/java.desktop/share/classes/module-info.java
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
sh configure \
--disable-warnings-as-errors \
--with-debug-level=release \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 14` \
--enable-cds=yes || exit $?
make images CONF=macosx-x86_64-server-release || exit $?
JSDK=build/macosx-x86_64-server-release/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
cp -a $JSDK/jdk-$MAJOR_JBSDK_VERSION.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
if [[ "$bundle_type" == *jcef* ]]; then
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
fi
echo Creating $JBSDK.tar.gz ...
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 tar -pczf $JBSDK.tar.gz -C $BASE_DIR \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
$JBRSDK_BUNDLE || exit $?
create_jbr || exit $?
make test-image || exit $?
JBRSDK_TEST=$JBRSDK_BASE_NAME-osx-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBRSDK_TEST.tar.gz -C build/macosx-x86_64-server-release/images \
--exclude='test/jdk/demos' test || exit $?

View File

@@ -0,0 +1,89 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
MAJOR_JBSDK_VERSION=$(echo $JBSDK_VERSION_WITH_DOTS | awk -F "." '{print $1}')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
sh configure \
--disable-warnings-as-errors \
--with-debug-level=fastdebug \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-import-modules=./modular-sdk \
--with-boot-jdk=`/usr/libexec/java_home -v 14` \
--enable-cds=yes || exit $?
make clean CONF=macosx-x86_64-server-fastdebug || exit $?
make images CONF=macosx-x86_64-server-fastdebug || exit $?
JSDK=build/macosx-x86_64-server-fastdebug/images/jdk-bundle
JBSDK=${JBRSDK_BASE_NAME}-osx-x64-fastdebug-b${build_number}
BASE_DIR=jre
JBRSDK_BUNDLE=jbrsdk
rm -rf $BASE_DIR
mkdir $BASE_DIR || exit $?
cp -a $JSDK/jdk-$MAJOR_JBSDK_VERSION.jdk $BASE_DIR/$JBRSDK_BUNDLE || exit $?
echo Creating $JBSDK.tar.gz ...
cp -a jcef_mac/Frameworks $BASE_DIR/$JBRSDK_BUNDLE/Contents/
sed 's/JBR/JBRSDK/g' ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release > release
mv release ${BASE_DIR}/${JBRSDK_BUNDLE}/Contents/Home/release
COPYFILE_DISABLE=1 \
tar -pczf ${JBSDK}.tar.gz -C ${BASE_DIR} \
--exclude='._*' --exclude='.DS_Store' --exclude='*~' \
--exclude='Home/demo' --exclude='Home/man' --exclude='Home/sample' \
${JBRSDK_BUNDLE} || exit $?
JBR_BUNDLE=jbr
JRE_CONTENTS=$BASE_DIR/$JBR_BUNDLE/Contents
JRE_HOME=$JRE_CONTENTS/Home
JBR_BASE_NAME=jbr-$JBSDK_VERSION
mkdir -p $JRE_CONTENTS
if [ -d "$JRE_HOME" ]; then
rm -rf $JRE_HOME
fi
JBR=${JBR_BASE_NAME}-osx-x64-fastdebug-b${build_number}
$BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/bin/jlink \
--module-path $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list | sed s/" "//g) --output $JRE_HOME || exit $?
grep -v "^JAVA_VERSION" $BASE_DIR/$JBRSDK_BUNDLE/Contents/Home/release | grep -v "^MODULES" >> $JRE_HOME/release
cp -R $BASE_DIR/$JBRSDK_BUNDLE/Contents/MacOS $JRE_CONTENTS
cp $BASE_DIR/$JBRSDK_BUNDLE/Contents/Info.plist $JRE_CONTENTS
cp -a jcef_mac/Frameworks ${JRE_CONTENTS} || exit $?
echo Creating $JBR.tar.gz ...
COPYFILE_DISABLE=1 tar -pczf $JBR.tar.gz --exclude='*.dSYM' --exclude='man' -C $BASE_DIR $JBR_BUNDLE || exit $?

View File

@@ -0,0 +1,120 @@
#!/bin/bash
APP_DIRECTORY=$1
APPL_USER=$2
APPL_PASSWORD=$3
APP_NAME=$4
BUNDLE_ID=$5
FAKE_ROOT="${6:-fake-root}"
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$APPL_USER" ]] || [[ -z "$APPL_PASSWORD" ]]; then
echo "Usage: $0 AppDirectory Username Password"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
function publish-log() {
id=$1
file=$2
curl -T "$file" "$ARTIFACTORY_URL/$id" || true
}
function altool-upload() {
# Since altool uses same file for upload token we have to trick it into using different folders for token file location
# Also it copies zip into TMPDIR so we override it too, to simplify cleanup
OLD_HOME="$HOME"
export HOME="$FAKE_ROOT/home"
export TMPDIR="$FAKE_ROOT/tmp"
mkdir -p "$HOME"
mkdir -p "$TMPDIR"
export _JAVA_OPTIONS="-Duser.home=$HOME -Djava.io.tmpdir=$TMPDIR"
# Reduce amount of downloads, cache transporter libraries
shared_itmstransporter="$OLD_HOME/shared-itmstransporter"
if [[ -f "$shared_itmstransporter" ]]; then
cp -r "$shared_itmstransporter" "$HOME/.itmstransporter"
fi
# For some reason altool prints everything to stderr, not stdout
set +e
xcrun altool --notarize-app \
--username "$APPL_USER" --password "$APPL_PASSWORD" \
--primary-bundle-id "$BUNDLE_ID" \
--asc-provider JetBrainssro --file "$1" 2>&1 | tee "altool.init.out"
unset TMPDIR
export HOME="$OLD_HOME"
set -e
}
#immediately exit script with an error if a command fails
set -euo pipefail
file="$APP_NAME.zip"
log "Zipping $file..."
rm -rf "$file"
ditto -c -k --sequesterRsrc --keepParent "$APP_DIRECTORY/Contents" "$file"
log "Notarizing $file..."
rm -rf "altool.init.out" "altool.check.out"
altool-upload "$file"
rm -rf "$file"
notarization_info="$(grep -e "RequestUUID" "altool.init.out" | grep -oE '([0-9a-f-]{36})')"
if [ -z "$notarization_info" ]; then
log "Faile to read RequestUUID from altool.init.out"
exit 10
fi
PATH="$PATH:/usr/local/bin/"
log "Notarization request sent, awaiting response"
spent=0
while true; do
# For some reason altool prints everything to stderr, not stdout
xcrun altool --username "$APPL_USER" --notarization-info "$notarization_info" --password "$APPL_PASSWORD" >"altool.check.out" 2>&1 || true
status="$(grep -oe 'Status: .*' "altool.check.out" | cut -c 9- || true)"
log "Current status: $status"
if [ "$status" = "invalid" ]; then
log "Notarization failed"
ec=1
elif [ "$status" = "success" ]; then
log "Notarization succeeded"
ec=0
else
if [ "$status" != "in progress" ]; then
log "Unknown notarization status, waiting more, altool output:"
cat "altool.check.out"
fi
if [[ $spent -gt 60 ]]; then
log "Waiting time out (apx 60 minutes)"
ec=2
break
fi
sleep 60
((spent += 1))
continue
fi
developer_log="developer_log.json"
log "Fetching $developer_log"
# TODO: Replace cut with trim or something better
url="$(grep -oe 'LogFileURL: .*' "altool.check.out" | cut -c 13-)"
wget "$url" -O "$developer_log" && cat "$developer_log" || true
if [ $ec != 0 ]; then
log "Publishing $developer_log"
publish-log "$notarization_info" "$developer_log"
fi
break
done
cat "altool.check.out"
rm -rf "altool.init.out" "altool.check.out"
exit $ec

View File

@@ -0,0 +1,94 @@
#!/bin/bash
APP_DIRECTORY=$1
JB_CERT=$2
if [[ -z "$APP_DIRECTORY" ]] || [[ -z "$JB_CERT" ]]; then
echo "Usage: $0 AppDirectory CertificateID"
exit 1
fi
if [[ ! -d "$APP_DIRECTORY" ]]; then
echo "AppDirectory '$APP_DIRECTORY' does not exist or not a directory"
exit 1
fi
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
#immediately exit script with an error if a command fails
set -euo pipefail
# Cleanup files left from previous sign attempt (if any)
find "$APP_DIRECTORY" -name '*.cstemp' -exec rm '{}' \;
log "Signing libraries and executables..."
# -perm +111 searches for executables
for f in \
"Contents/Home/bin" \
"Contents/Home/lib" \
"Contents/Frameworks"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
log "Signing libraries in jars in $PWD"
# todo: add set -euo pipefail; into the inner sh -c
# `-e` prevents `grep -q && printf` loginc
# with `-o pipefail` there's no input for 'while' loop
find "$APP_DIRECTORY" -name '*.jar' \
-exec sh -c "set -u; unzip -l \"\$0\" | grep -q -e '\.dylib\$' -e '\.jnilib\$' -e '\.so\$' -e '^jattach\$' && printf \"\$0\0\" " {} \; |
while IFS= read -r -d $'\0' file; do
log "Processing libraries in $file"
rm -rf jarfolder jar.jar
mkdir jarfolder
filename="${file##*/}"
log "Filename: $filename"
cp "$file" jarfolder && (cd jarfolder && jar xf "$filename" && rm "$filename")
find jarfolder \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -name "jattach" \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
(cd jarfolder; zip -q -r -o ../jar.jar .)
mv jar.jar "$file"
done
rm -rf jarfolder jar.jar
log "Signing other files..."
for f in \
"Contents/MacOS"; do
if [ -d "$APP_DIRECTORY/$f" ]; then
find "$APP_DIRECTORY/$f" \
-type f \( -name "*.jnilib" -o -name "*.dylib" -o -name "*.so" -o -perm +111 \) \
-exec codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--entitlements entitlements.xml {} \;
fi
done
#log "Signing executable..."
#codesign --timestamp \
# -v -s "$JB_CERT" --options=runtime \
# --force \
# --entitlements entitlements.xml "$APP_DIRECTORY/Contents/MacOS/idea"
log "Signing whole app..."
codesign --timestamp \
-v -s "$JB_CERT" --options=runtime \
--force \
--entitlements entitlements.xml "$APP_DIRECTORY"
log "Verifying java is not broken"
find "$APP_DIRECTORY" \
-type f -name 'java' -perm +111 -exec {} -version \;

View File

@@ -0,0 +1,138 @@
#!/bin/bash
#immediately exit script with an error if a command fails
set -euo pipefail
export COPY_EXTENDED_ATTRIBUTES_DISABLE=true
export COPYFILE_DISABLE=true
INPUT_FILE=$1
EXPLODED=$2.exploded
BACKUP_JMODS=$2.backup
USERNAME=$3
PASSWORD=$4
CODESIGN_STRING=$5
NOTARIZE=$6
BUNDLE_ID=$7
cd "$(dirname "$0")"
function log() {
echo "$(date '+[%H:%M:%S]') $*"
}
log "Deleting $EXPLODED ..."
if test -d "$EXPLODED"; then
find "$EXPLODED" -mindepth 1 -maxdepth 1 -exec chmod -R u+wx '{}' \;
fi
rm -rf "$EXPLODED"
mkdir "$EXPLODED"
rm -rf "$BACKUP_JMODS"
mkdir "$BACKUP_JMODS"
log "Unzipping $INPUT_FILE to $EXPLODED ..."
tar -xzvf "$INPUT_FILE" --directory $EXPLODED
rm "$INPUT_FILE"
BUILD_NAME="$(ls "$EXPLODED")"
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/jmods; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/jmods $BACKUP_JMODS
fi
if test -f $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib; then
mv $EXPLODED/$BUILD_NAME/Contents/MacOS/libjli.dylib $BACKUP_JMODS
fi
if test -d $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks; then
mv $EXPLODED/$BUILD_NAME/Contents/Home/Frameworks $BACKUP_JMODS
fi
log "$INPUT_FILE extracted and removed"
APPLICATION_PATH="$EXPLODED/$BUILD_NAME"
find "$APPLICATION_PATH/Contents/Home/bin" \
-maxdepth 1 -type f -name '*.jnilib' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Linking $file"
b="$(basename "$file" .jnilib)"
ln -sf "$b.jnilib" "$(dirname "$file")/$b.dylib"
fi
done
find "$APPLICATION_PATH/Contents/" \
-maxdepth 1 -type f -name '*.txt' -print0 |
while IFS= read -r -d $'\0' file; do
if [ -f "$file" ]; then
log "Moving $file"
mv "$file" "$APPLICATION_PATH/Contents/Resources"
fi
done
non_plist=$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist' | wc -l)
if [[ $non_plist -gt 0 ]]; then
log "Only Info.plist file is allowed in Contents directory but found $non_plist file(s):"
log "$(find "$APPLICATION_PATH/Contents/" -maxdepth 1 -type f -and -not -name 'Info.plist')"
exit 1
fi
log "Unlocking keychain..."
# Make sure *.p12 is imported into local KeyChain
security unlock-keychain -p "$PASSWORD" "/Users/$USERNAME/Library/Keychains/login.keychain"
attempt=1
limit=3
set +e
while [[ $attempt -le $limit ]]; do
log "Signing (attempt $attempt) $APPLICATION_PATH ..."
./sign.sh "$APPLICATION_PATH" "$CODESIGN_STRING"
ec=$?
if [[ $ec -ne 0 ]]; then
((attempt += 1))
if [ $attempt -eq $limit ]; then
set -e
fi
log "Signing failed, wait for 30 sec and try to sign again"
sleep 30
else
log "Signing done"
codesign -v "$APPLICATION_PATH" -vvvvv
log "Check sign done"
((attempt += limit))
fi
done
set -e
if [ "$NOTARIZE" = "yes" ]; then
log "Notarizing..."
# shellcheck disable=SC1090
source "$HOME/.notarize_token"
APP_NAME=$(echo ${INPUT_FILE} | awk -F"." '{ print $1 }')
# Since notarization tool uses same file for upload token we have to trick it into using different folders, hence fake root
# Also it leaves copy of zip file in TMPDIR, so notarize.sh overrides it and uses FAKE_ROOT as location for temp TMPDIR
FAKE_ROOT="$(pwd)/fake-root"
mkdir -p "$FAKE_ROOT"
echo "Notarization will use fake root: $FAKE_ROOT"
./notarize.sh "$APPLICATION_PATH" "$APPLE_USERNAME" "$APPLE_PASSWORD" "$APP_NAME" "$BUNDLE_ID" "$FAKE_ROOT"
rm -rf "$FAKE_ROOT"
set +e
log "Stapling..."
xcrun stapler staple "$APPLICATION_PATH"
else
log "Notarization disabled"
log "Stapling disabled"
fi
log "Zipping $BUILD_NAME to $INPUT_FILE ..."
(
#cd "$EXPLODED"
#ditto -c -k --sequesterRsrc --keepParent "$BUILD_NAME" "../$INPUT_FILE"
if test -d $BACKUP_JMODS/jmods; then
mv $BACKUP_JMODS/jmods $EXPLODED/$BUILD_NAME/Contents/Home
fi
COPYFILE_DISABLE=1 tar -pczf $INPUT_FILE --exclude='*.dSYM' --exclude='man' -C $EXPLODED $BUILD_NAME
log "Finished zipping"
)
rm -rf "$EXPLODED"
log "Done"

View File

@@ -0,0 +1,82 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles with jcef
# empty - the bundles without jcef
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
function create_jbr {
if [ -z "${bundle_type}" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
fi
cat modules.list > modules_tmp.list
rm -rf ${JBR_BUNDLE}
echo Running jlink....
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules_tmp.list | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
[ ! -z "${bundle_type}" ] && (cp -R jcef_win_x64/* ${JBR_BUNDLE}/bin || exit $?)
echo Modifying release info ...
cat ${JSDK}/release | tr -d '\r' | grep -v 'JAVA_VERSION' | grep -v 'MODULES' >> ${JBR_BUNDLE}/release
}
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
git checkout -- modules.list
git checkout -- src/java.desktop/share/classes/module-info.java
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
PATH="/usr/local/bin:/usr/bin:${PATH}"
sh ./configure \
--disable-warnings-as-errors \
--with-target-bits=64 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-import-modules=${WORK_DIR}/modular-sdk \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make LOG=info images CONF=windows-x86_64-server-release test-image || exit 1
JSDK=build/windows-x86_64-server-release/images/jdk
JBSDK=${JBRSDK_BASE_NAME}-windows-x64-b${build_number}
BASE_DIR=build/windows-x86_64-server-release/images
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
cp -R jcef_win_x64/* ${JBRSDK_BUNDLE}/bin
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
create_jbr || exit $?

View File

@@ -0,0 +1,66 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBSDK_VERSION_WITH_DOTS=$(echo $JBSDK_VERSION | sed 's/_/\./g')
source jb/project/tools/common.sh
JBRSDK_BASE_NAME=jbrsdk-${JBSDK_VERSION}
WORK_DIR=$(pwd)
[ -z "$bundle_type" ] && git apply -p0 < jb/project/tools/exclude_jcef_module.patch
PATH="/usr/local/bin:/usr/bin:${PATH}"
./configure \
--disable-warnings-as-errors \
--with-target-bits=32 \
--with-vendor-name="${VENDOR_NAME}" \
--with-vendor-version-string="${VENDOR_VERSION_STRING}" \
--with-version-pre= \
--with-version-build=${JDK_BUILD_NUMBER} \
--with-version-opt=b${build_number} \
--with-toolchain-version=${TOOLCHAIN_VERSION} \
--with-boot-jdk=${BOOT_JDK} \
--disable-ccache \
--enable-cds=yes || exit 1
make clean CONF=windows-x86-server-release || exit 1
make LOG=info images CONF=windows-x86-server-release test-image || exit 1
JBSDK=${JBRSDK_BASE_NAME}-windows-x86-b${build_number}
BASE_DIR=build/windows-x86-server-release/images
JSDK=${BASE_DIR}/jdk
JBRSDK_BUNDLE=jbrsdk
rm -rf ${BASE_DIR}/${JBRSDK_BUNDLE} && rsync -a --exclude demo --exclude sample ${JSDK}/ ${JBRSDK_BUNDLE} || exit 1
sed 's/JBR/JBRSDK/g' ${JSDK}/release > release
mv release ${JBRSDK_BUNDLE}/release
JBR_BUNDLE=jbr
rm -rf ${JBR_BUNDLE}
grep -v javafx modules.list | grep -v "jdk.internal.vm\|jdk.aot\|jcef" > modules.list.x86
${JSDK}/bin/jlink \
--module-path ${JSDK}/jmods --no-man-pages --compress=2 \
--add-modules $(xargs < modules.list.x86 | sed s/" "//g) --output ${JBR_BUNDLE} || exit $?
echo Modifying release info ...
#grep -v \"^JAVA_VERSION\" ${JSDK}/release | grep -v \"^MODULES\" >> ${JBR_BUNDLE}/release

View File

@@ -0,0 +1,57 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# jcef - the bundles with jcef
# empty - the bundles without jcef
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
bundle_type=$4
function pack_jbr {
if [ -z "${bundle_type}" ]; then
JBR_BUNDLE=jbr
else
JBR_BUNDLE=jbr_${bundle_type}
rm -rf ${BASE_DIR}/jbr
cp -R ${BASE_DIR}/${JBR_BUNDLE} ${BASE_DIR}/jbr
fi
JBR_BASE_NAME=${JBR_BUNDLE}-${JBSDK_VERSION}
JBR=$JBR_BASE_NAME-windows-x64-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR jbr || exit 1
}
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86_64-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x64-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
pack_jbr $bundle_type
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x64-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1

View File

@@ -0,0 +1,45 @@
#!/bin/bash -x
# The following parameters must be specified:
# JBSDK_VERSION - specifies the current version of OpenJDK e.g. 11_0_6
# JDK_BUILD_NUMBER - specifies the number of OpenJDK build or the value of --with-version-build argument to configure
# build_number - specifies the number of JetBrainsRuntime build
# bundle_type - specifies bundle to bu built; possible values:
# jcef - the bundles 1) jbr with jcef+javafx, 2) jbrsdk and 3) test will be created
# jfx - the bundle 1) jbr with javafx only will be created
#
# jbrsdk-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
# jbr-${JBSDK_VERSION}-osx-x64-b${build_number}.tar.gz
#
# $ ./java --version
# openjdk 11.0.6 2020-01-14
# OpenJDK Runtime Environment (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number})
# OpenJDK 64-Bit Server VM (build 11.0.6+${JDK_BUILD_NUMBER}-b${build_number}, mixed mode)
#
JBSDK_VERSION=$1
JDK_BUILD_NUMBER=$2
build_number=$3
JBRSDK_BASE_NAME=jbrsdk-$JBSDK_VERSION
JBR_BASE_NAME=jbr-$JBSDK_VERSION
IMAGES_DIR=build/windows-x86-server-release/images
JSDK=$IMAGES_DIR/jdk
JBSDK=$JBRSDK_BASE_NAME-windows-x86-b$build_number
BASE_DIR=.
JBRSDK_BUNDLE=jbrsdk
echo Creating $JBSDK.tar.gz ...
/usr/bin/tar -czf $JBSDK.tar.gz $JBRSDK_BUNDLE || exit 1
JBR_BUNDLE=jbr
JBR_BASE_NAME=jbr-${JBSDK_VERSION}
JBR=$JBR_BASE_NAME-windows-x86-b$build_number
echo Creating $JBR.tar.gz ...
/usr/bin/tar -czf $JBR.tar.gz -C $BASE_DIR ${JBR_BUNDLE} || exit 1
JBRSDK_TEST=$JBRSDK_BASE_NAME-windows-test-x86-b$build_number
echo Creating $JBRSDK_TEST.tar.gz ...
/usr/bin/tar -czf $JBRSDK_TEST.tar.gz -C $IMAGES_DIR --exclude='test/jdk/demos' test || exit 1

View File

@@ -556,7 +556,8 @@ AC_DEFUN_ONCE([BASIC_COMPILE_FIXPATH],
$RM -rf $FIXPATH_BIN $FIXPATH_DIR
$MKDIR -p $FIXPATH_DIR $CONFIGURESUPPORT_OUTPUTDIR/bin
cd $FIXPATH_DIR
$CC $FIXPATH_SRC_W -Fe$FIXPATH_BIN_W > $FIXPATH_DIR/fixpath1.log 2>&1
$CC $FIXPATH_SRC_W > $FIXPATH_DIR/fixpath1.log 2>&1
mv fixpath.exe $FIXPATH_BIN
cd $CONFIGURE_START_DIR
if test ! -x $FIXPATH_BIN; then

57
modules.list Normal file
View File

@@ -0,0 +1,57 @@
java.base,
java.compiler,
java.datatransfer,
java.desktop,
java.instrument,
java.logging,
java.management,
java.management.rmi,
java.naming,
java.net.http,
java.prefs,
java.rmi,
java.scripting,
java.se,
java.security.jgss,
java.security.sasl,
java.smartcardio,
java.sql,
java.sql.rowset,
java.transaction.xa,
java.xml,
java.xml.crypto,
jdk.accessibility,
jdk.aot,
jdk.attach,
jdk.charsets,
jdk.compiler,
jdk.crypto.cryptoki,
jdk.crypto.ec,
jdk.dynalink,
jdk.httpserver,
jdk.internal.ed,
jdk.internal.le,
jdk.internal.vm.ci,
jdk.internal.vm.compiler,
jdk.internal.vm.compiler.management,
jdk.jdi,
jdk.jdwp.agent,
jdk.jfr,
jdk.jsobject,
jdk.localedata,
jdk.management,
jdk.management.agent,
jdk.management.jfr,
jdk.naming.dns,
jdk.naming.rmi,
jdk.net,
jdk.scripting.nashorn,
jdk.scripting.nashorn.shell,
jdk.sctp,
jdk.security.auth,
jdk.security.jgss,
jdk.unsupported,
jdk.xml.dom,
jdk.zipfs,
jdk.hotspot.agent,
jcef

View File

@@ -371,7 +371,11 @@ Klass* ClassListParser::load_current_class(TRAPS) {
if (!HAS_PENDING_EXCEPTION && (obj != NULL)) {
klass = java_lang_Class::as_Klass(obj);
} else { // load classes in bootclasspath/a
tty->print_cr("Class %s was not loaded from the system classloader", this->current_class_name());
if (HAS_PENDING_EXCEPTION) {
oop throwable = PENDING_EXCEPTION;
java_lang_Throwable::print(throwable, tty);
tty->cr();
CLEAR_PENDING_EXCEPTION;
}
@@ -380,6 +384,7 @@ Klass* ClassListParser::load_current_class(TRAPS) {
if (k != NULL) {
klass = k;
} else {
tty->print_cr("Class %s is not found from SystemDictionary::resolve_or_null(..) == null", this->current_class_name());
if (!HAS_PENDING_EXCEPTION) {
THROW_NULL(vmSymbols::java_lang_ClassNotFoundException());
}

View File

@@ -265,6 +265,7 @@ InstanceKlass* ClassLoaderExt::load_class(Symbol* name, const char* path, TRAPS)
ClassFileStream* stream = NULL;
ClassPathEntry* e = find_classpath_entry_from_cache(path, CHECK_NULL);
if (e == NULL) {
log_warning(cds)("Preload Warning: ClassPathEntry is not found for class %s and path %s", class_name, path);
return NULL;
}
{
@@ -329,12 +330,14 @@ ClassPathEntry* ClassLoaderExt::find_classpath_entry_from_cache(const char* path
struct stat st;
if (os::stat(path, &st) != 0) {
// File or directory not found
log_warning(cds)("Preload Warning: Source path %s is not found", path);
return NULL;
}
ClassPathEntry* new_entry = NULL;
new_entry = create_class_path_entry(path, &st, false, false, false, CHECK_NULL);
if (new_entry == NULL) {
log_warning(cds)("Preload Warning: The create_class_path_entry() call for path %s returned NULL", path);
return NULL;
}
ccpe._path = strdup(path);

View File

@@ -1856,10 +1856,16 @@ int MetaspaceShared::preload_classes(const char* class_list_path, TRAPS) {
while (parser.parse_one_line()) {
Klass* klass = parser.load_current_class(THREAD);
if (HAS_PENDING_EXCEPTION) {
if (klass == NULL &&
(PENDING_EXCEPTION->klass()->name() == vmSymbols::java_lang_ClassNotFoundException())) {
// print a warning only when the pending exception is class not found
log_warning(cds)("Preload Warning: Cannot find %s", parser.current_class_name());
if (klass == NULL) {
if (PENDING_EXCEPTION->klass()->name() == vmSymbols::java_lang_ClassNotFoundException()) {
// print a warning only when the pending exception is class not found
log_warning(cds)("Preload Warning: Cannot find %s", parser.current_class_name());
} else {
log_warning(cds)("Preload Warning: Exception loading class %s", parser.current_class_name());
oop throwable = PENDING_EXCEPTION;
java_lang_Throwable::print(throwable, tty);
tty->cr();
}
}
CLEAR_PENDING_EXCEPTION;
}
@@ -1907,6 +1913,11 @@ bool MetaspaceShared::try_link_class(InstanceKlass* ik, TRAPS) {
ResourceMark rm(THREAD);
log_warning(cds)("Preload Warning: Verification failed for %s",
ik->external_name());
oop throwable = PENDING_EXCEPTION;
java_lang_Throwable::print(throwable, tty);
tty->cr();
CLEAR_PENDING_EXCEPTION;
ik->set_in_error_state();
_has_error_classes = true;

View File

@@ -109,7 +109,11 @@ module java.desktop {
// see make/GensrcModuleInfo.gmk
exports sun.awt to
jdk.accessibility,
jdk.unsupported.desktop;
jdk.unsupported.desktop,
jcef;
exports sun.lwawt.macosx to jcef;
exports sun.lwawt to jcef;
exports java.awt.dnd.peer to jdk.unsupported.desktop;
exports sun.awt.dnd to jdk.unsupported.desktop;

View File

@@ -36,6 +36,7 @@ import java.util.ResourceBundle;
import java.util.MissingResourceException;
import java.util.Vector;
import sun.awt.AWTAccessor;
import sun.security.action.GetBooleanAction;
final class WFileDialogPeer extends WWindowPeer implements FileDialogPeer {
@@ -92,6 +93,10 @@ final class WFileDialogPeer extends WWindowPeer implements FileDialogPeer {
_dispose();
}
private static boolean useCommonItemDialog() {
return AccessController.doPrivileged(new GetBooleanAction("sun.awt.windows.useCommonItemDialog"));
}
private native void _show();
private native void _hide();

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,7 +23,6 @@
* questions.
*/
#include "awt.h"
#include "awt_ole.h"
#include "awt_DCHolder.h" // main symbols

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,18 +23,16 @@
* questions.
*/
#include "awt.h"
#include <shlwapi.h>
#include <shellapi.h>
#include <memory.h>
#include "awt_DataTransferer.h"
#include "awt_Toolkit.h"
#include "java_awt_dnd_DnDConstants.h"
#include "sun_awt_windows_WDropTargetContextPeer.h"
#include "awt_Container.h"
#include "alloc.h"
#include "awt_ole.h"
#include "awt_Toolkit.h"
#include "awt_DnDDT.h"
#include "awt_DnDDS.h"

View File

@@ -23,7 +23,7 @@
* questions.
*/
#include "awt.h"
#include "awt_ole.h"
#include "awt_FileDialog.h"
#include "awt_Dialog.h"
#include "awt_Toolkit.h"
@@ -31,7 +31,8 @@
#include <commdlg.h>
#include <cderr.h>
#include <shlobj.h>
#include <shlwapi.h>
#include <shobjidl.h>
/************************************************************************
* AwtFileDialog fields
@@ -52,11 +53,105 @@ jfieldID AwtFileDialog::dirID;
jfieldID AwtFileDialog::fileID;
jfieldID AwtFileDialog::filterID;
class CoTaskStringHolder {
public:
CoTaskStringHolder() : m_str(NULL) {}
CoTaskStringHolder(CoTaskStringHolder& other) {
m_str = other.m_str;
other.m_str = NULL;
}
CoTaskStringHolder& operator=(CoTaskStringHolder& other) {
if (m_str == other.m_str) return *this;
Clean();
m_str = other.m_str;
other.m_str = NULL;
return *this;
}
LPTSTR* operator&() {
return &m_str;
}
operator bool() {
return m_str != NULL;
}
operator LPTSTR() {
return m_str;
}
~CoTaskStringHolder() {
Clean();
}
private:
LPTSTR m_str;
void Clean() {
if (m_str) {
::CoTaskMemFree(m_str);
m_str = NULL;
}
}
};
template <typename T>
class SmartHolderBase {
public:
SmartHolderBase() : m_pointer(NULL) {}
SmartHolderBase& operator=(const SmartHolderBase&) = delete;
void Attach(T* other) {
if (m_pointer == other) return;
Clean();
m_pointer = other;
}
operator bool() {
return m_pointer != NULL;
}
operator T*() {
return m_pointer;
}
~SmartHolderBase() {
Clean();
}
protected:
T* m_pointer;
virtual void Clean() {
if (m_pointer) {
delete m_pointer;
m_pointer = NULL;
}
}
};
template<typename T>
class SmartHolder : public SmartHolderBase<T> {
};
template <typename T>
class SmartHolder<T[]> : public SmartHolderBase<T> {
virtual void Clean() {
if (m_pointer) {
delete [] m_pointer;
m_pointer = NULL;
}
}
};
/* Localized filter string */
#define MAX_FILTER_STRING 128
static TCHAR s_fileFilterString[MAX_FILTER_STRING];
/* Non-localized suffix of the filter string */
static const TCHAR s_additionalString[] = TEXT(" (*.*)\0*.*\0");
static SmartHolder<COMDLG_FILTERSPEC> s_fileFilterSpec;
static UINT s_fileFilterCount;
// Default limit of the output buffer.
#define SINGLE_MODE_BUFFER_LIMIT MAX_PATH+1
@@ -65,8 +160,45 @@ static const TCHAR s_additionalString[] = TEXT(" (*.*)\0*.*\0");
// The name of the property holding the pointer to the OPENFILENAME structure.
static LPCTSTR OpenFileNameProp = TEXT("AWT_OFN");
_COM_SMARTPTR_TYPEDEF(IFileDialog, __uuidof(IFileDialog));
_COM_SMARTPTR_TYPEDEF(IFileDialogEvents, __uuidof(IFileDialogEvents));
_COM_SMARTPTR_TYPEDEF(IShellItem, __uuidof(IShellItem));
_COM_SMARTPTR_TYPEDEF(IFileOpenDialog, __uuidof(IFileOpenDialog));
_COM_SMARTPTR_TYPEDEF(IShellItemArray, __uuidof(IShellItemArray));
_COM_SMARTPTR_TYPEDEF(IOleWindowPtr, __uuidof(IOleWindowPtr));
/***********************************************************************/
COMDLG_FILTERSPEC *CreateFilterSpec(UINT *count) {
UINT filterCount = 0;
for (UINT index = 0; index < MAX_FILTER_STRING - 1; index++) {
if (s_fileFilterString[index] == _T('\0')) {
filterCount++;
if (s_fileFilterString[index + 1] == _T('\0'))
break;
}
}
filterCount /= 2;
COMDLG_FILTERSPEC *filterSpec = new COMDLG_FILTERSPEC[filterCount];
UINT currentIndex = 0;
TCHAR *currentStart = s_fileFilterString;
for (UINT index = 0; index < MAX_FILTER_STRING - 1; index++) {
if (s_fileFilterString[index] == _T('\0')) {
if (currentIndex & 1) {
filterSpec[currentIndex / 2].pszSpec = currentStart;
} else {
filterSpec[currentIndex / 2].pszName = currentStart;
}
currentStart = s_fileFilterString + index + 1;
currentIndex++;
if (s_fileFilterString[index + 1] == _T('\0'))
break;
}
}
*count = filterCount;
return filterSpec;
}
void
AwtFileDialog::Initialize(JNIEnv *env, jstring filterDescription)
{
@@ -86,6 +218,7 @@ AwtFileDialog::Initialize(JNIEnv *env, jstring filterDescription)
}
DASSERT(s + sizeof(s_additionalString) < s_fileFilterString + MAX_FILTER_STRING);
memcpy(s, s_additionalString, sizeof(s_additionalString));
s_fileFilterSpec.Attach(CreateFilterSpec(&s_fileFilterCount));
}
LRESULT CALLBACK FileDialogWndProc(HWND hWnd, UINT message,
@@ -237,12 +370,236 @@ FileDialogHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam)
CATCH_BAD_ALLOC_RET(TRUE);
}
struct FileDialogData {
IFileDialogPtr fileDialog;
SmartHolder<TCHAR[]> result;
UINT resultSize;
jobject peer;
};
HRESULT GetSelectedResults(FileDialogData *data) {
OLE_TRY
IFileOpenDialogPtr fileOpenDialog;
UINT currentOffset = 0;
IShellItemArrayPtr psia;
DWORD itemsCount;
OLE_HRT(data->fileDialog->QueryInterface(IID_PPV_ARGS(&fileOpenDialog)))
OLE_HRT(fileOpenDialog->GetSelectedItems(&psia));
OLE_HRT(psia->GetCount(&itemsCount));
UINT maxBufferSize = (MAX_PATH + 1) * itemsCount + 1;
data->result.Attach(new TCHAR[maxBufferSize]);
data->resultSize = maxBufferSize;
LPTSTR resultBuffer = data->result;
for (DWORD i = 0; i < itemsCount; i++) {
IShellItemPtr psi;
OLE_HRT(psia->GetItemAt(i, &psi));
if (i == 0 && itemsCount > 1) {
IShellItemPtr psiParent;
CoTaskStringHolder filePath;
OLE_HRT(psi->GetParent(&psiParent));
OLE_HRT(psiParent->GetDisplayName(SIGDN_FILESYSPATH, &filePath));
size_t filePathLength = _tcslen(filePath);
_tcsncpy(resultBuffer + currentOffset, filePath, filePathLength);
resultBuffer[currentOffset + filePathLength] = _T('\0');
currentOffset += filePathLength + 1;
}
CoTaskStringHolder filePath;
SIGDN displayForm = itemsCount > 1 ? SIGDN_PARENTRELATIVE : SIGDN_FILESYSPATH;
OLE_HRT(psi->GetDisplayName(displayForm, &filePath));
size_t filePathLength = _tcslen(filePath);
_tcsncpy(resultBuffer + currentOffset, filePath, filePathLength);
resultBuffer[currentOffset + filePathLength] = _T('\0');
currentOffset += filePathLength + 1;
}
resultBuffer[currentOffset] = _T('\0');
resultBuffer[currentOffset + 1] = _T('\0');
data->fileDialog->Close(S_OK);
OLE_CATCH
OLE_RETURN_HR
}
LRESULT CALLBACK
FileDialogSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData)
{
JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
TRY;
HWND parent = ::GetParent(hWnd);
switch (uMsg) {
case WM_COMMAND: {
if (HIWORD(wParam) == BN_CLICKED && LOWORD(wParam) == IDOK) {
OLE_TRY
OLE_HRT(GetSelectedResults((FileDialogData*) dwRefData));
OLE_CATCH
}
if (LOWORD(wParam) == IDCANCEL) {
jobject peer = (jobject) (::GetProp(hWnd, ModalDialogPeerProp));
env->CallVoidMethod(peer, AwtFileDialog::setHWndMID, (jlong) 0);
}
break;
}
case WM_SETICON: {
return 0;
}
case WM_DESTROY: {
HIMC hIMC = ::ImmGetContext(hWnd);
if (hIMC != NULL) {
::ImmNotifyIME(hIMC, NI_COMPOSITIONSTR, CPS_CANCEL, 0);
::ImmReleaseContext(hWnd, hIMC);
}
RemoveWindowSubclass(hWnd, &FileDialogSubclassProc, uIdSubclass);
::RemoveProp(parent, ModalDialogPeerProp);
break;
}
}
return DefSubclassProc(hWnd, uMsg, wParam, lParam);
CATCH_BAD_ALLOC_RET(TRUE);
}
class CDialogEventHandler : public IFileDialogEvents
{
public:
IFACEMETHODIMP QueryInterface(REFIID riid, void** ppv)
{
static const QITAB qit[] = {
QITABENT(CDialogEventHandler, IFileDialogEvents),
{ 0 },
};
return QISearch(this, qit, riid, ppv);
}
IFACEMETHODIMP_(ULONG) AddRef()
{
return InterlockedIncrement(&m_refCount);
}
IFACEMETHODIMP_(ULONG) Release()
{
long retVal = InterlockedDecrement(&m_refCount);
if (!retVal)
delete this;
return retVal;
}
IFACEMETHODIMP OnFolderChange(IFileDialog *fileDialog) {
if (!m_activated) {
InitDialog(fileDialog);
m_activated = true;
}
return S_OK;
};
IFACEMETHODIMP OnFileOk(IFileDialog *) {
if (!data->result) {
OLE_TRY
OLE_HRT(GetSelectedResults(data));
OLE_CATCH
}
return S_OK;
};
IFACEMETHODIMP OnFolderChanging(IFileDialog *, IShellItem *) { return S_OK; };
IFACEMETHODIMP OnHelp(IFileDialog *) { return S_OK; };
IFACEMETHODIMP OnSelectionChange(IFileDialog *) { return S_OK; };
IFACEMETHODIMP OnShareViolation(IFileDialog *, IShellItem *, FDE_SHAREVIOLATION_RESPONSE *) { return S_OK; };
IFACEMETHODIMP OnTypeChange(IFileDialog *pfd) { return S_OK; };
IFACEMETHODIMP OnOverwrite(IFileDialog *, IShellItem *, FDE_OVERWRITE_RESPONSE *) { return S_OK; };
CDialogEventHandler(FileDialogData *data) : data(data), m_refCount(1), m_activated(false) { };
private:
~CDialogEventHandler() { };
FileDialogData *data;
bool m_activated;
long m_refCount;
void InitDialog(IFileDialog *fileDialog) {
JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
TRY;
OLE_TRY
IOleWindowPtr pWindow;
OLE_HR = fileDialog->QueryInterface(IID_PPV_ARGS(&pWindow));
if (!SUCCEEDED(OLE_HR))
return;
HWND hdlg;
OLE_HRT(pWindow->GetWindow(&hdlg));
jobject peer = data->peer;
env->CallVoidMethod(peer, AwtFileDialog::setHWndMID, (jlong)hdlg);
::SetProp(hdlg, ModalDialogPeerProp, reinterpret_cast<HANDLE>(peer));
// fix for 4508670 - disable CS_SAVEBITS
DWORD style = ::GetClassLong(hdlg, GCL_STYLE);
::SetClassLong(hdlg, GCL_STYLE, style & ~CS_SAVEBITS);
// set appropriate icon for parentless dialogs
jobject awtParent = env->GetObjectField(peer, AwtFileDialog::parentID);
if (awtParent == NULL) {
::SendMessage(hdlg, WM_SETICON, (WPARAM)ICON_BIG,
(LPARAM)AwtToolkit::GetInstance().GetAwtIcon());
} else {
AwtWindow *awtWindow = (AwtWindow *)JNI_GET_PDATA(awtParent);
::SendMessage(hdlg, WM_SETICON, (WPARAM)ICON_BIG,
(LPARAM)(awtWindow->GetHIcon()));
::SendMessage(hdlg, WM_SETICON, (WPARAM)ICON_SMALL,
(LPARAM)(awtWindow->GetHIconSm()));
env->DeleteLocalRef(awtParent);
}
SetWindowSubclass(hdlg, &FileDialogSubclassProc, 0, (DWORD_PTR) data);
OLE_CATCH
CATCH_BAD_ALLOC;
}
};
HRESULT CDialogEventHandler_CreateInstance(FileDialogData *data, REFIID riid, void **ppv)
{
OLE_TRY
IFileDialogEventsPtr dlg(new CDialogEventHandler(data), false);
OLE_HRT(dlg->QueryInterface(riid, ppv));
OLE_CATCH
OLE_RETURN_HR
}
HRESULT CreateShellItem(LPTSTR path, IShellItemPtr& shellItem) {
size_t pathLength = _tcslen(path);
for (size_t index = 0; index < pathLength; index++) {
if (path[index] == _T('/'))
path[index] = _T('\\');
}
return ::SHCreateItemInKnownFolder(FOLDERID_ComputerFolder, 0, path, IID_PPV_ARGS(&shellItem));
}
CoTaskStringHolder GetShortName(LPTSTR path) {
CoTaskStringHolder shortName;
OLE_TRY
IShellItemPtr shellItem;
OLE_HRT(CreateShellItem(path, shellItem));
OLE_HRT(shellItem->GetDisplayName(SIGDN_PARENTRELATIVE, &shortName));
OLE_CATCH
return SUCCEEDED(OLE_HR) ? shortName : CoTaskStringHolder();
}
void
AwtFileDialog::Show(void *p)
{
JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
jobject peer;
LPTSTR fileBuffer = NULL;
LPTSTR currentDirectory = NULL;
jint mode = 0;
BOOL result = FALSE;
@@ -256,13 +613,26 @@ AwtFileDialog::Show(void *p)
AwtComponent* awtParent = NULL;
jboolean multipleMode = JNI_FALSE;
OLE_DECL
OLEHolder _ole_;
IFileDialogPtr pfd;
IFileDialogEventsPtr pfde;
IShellItemPtr psiResult;
FileDialogData data;
DWORD dwCookie = OLE_BAD_COOKIE;
OPENFILENAME ofn;
memset(&ofn, 0, sizeof(ofn));
peer = (jobject)p;
LPTSTR fileBuffer = NULL;
static BOOL useCommonItemDialog = JNU_CallStaticMethodByName(env, NULL,
"sun/awt/windows/WFileDialogPeer", "useCommonItemDialog", "()Z").z == JNI_TRUE;
try {
DASSERT(peer);
target = env->GetObjectField(peer, AwtObject::targetID);
parent = env->GetObjectField(peer, AwtFileDialog::parentID);
if (parent != NULL) {
@@ -270,6 +640,18 @@ AwtFileDialog::Show(void *p)
}
// DASSERT(awtParent);
title = (jstring)(env)->GetObjectField(target, AwtDialog::titleID);
/*
Fix for 6488834.
To disable Win32 native parent modality we have to set
hwndOwner field to either NULL or some hidden window. For
parentless dialogs we use NULL to show them in the taskbar,
and for all other dialogs AwtToolkit's HWND is used.
*/
/* [moklev] This fix does not needed anymore
* Tested on Windows 10 with example from JDK-4080029
* Revert the fix and set the proper parent to keep correct position of modal dialogs
*/
// HWND hwndOwner = awtParent ? AwtToolkit::GetInstance().GetHWnd() : NULL;
HWND hwndOwner = awtParent ? awtParent->GetHWnd() : NULL;
if (title == NULL || env->GetStringLength(title)==0) {
@@ -292,7 +674,7 @@ AwtFileDialog::Show(void *p)
} else {
bufferLimit = SINGLE_MODE_BUFFER_LIMIT;
}
LPTSTR fileBuffer = new TCHAR[bufferLimit];
fileBuffer = new TCHAR[bufferLimit];
memset(fileBuffer, 0, bufferLimit * sizeof(TCHAR));
file = (jstring)env->GetObjectField(target, AwtFileDialog::fileID);
@@ -304,68 +686,131 @@ AwtFileDialog::Show(void *p)
fileBuffer[0] = _T('\0');
}
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFilter = s_fileFilterString;
ofn.nFilterIndex = 1;
/*
Fix for 6488834.
To disable Win32 native parent modality we have to set
hwndOwner field to either NULL or some hidden window. For
parentless dialogs we use NULL to show them in the taskbar,
and for all other dialogs AwtToolkit's HWND is used.
*/
if (awtParent != NULL)
{
ofn.hwndOwner = AwtToolkit::GetInstance().GetHWnd();
}
else
{
ofn.hwndOwner = NULL;
}
ofn.lpstrFile = fileBuffer;
ofn.nMaxFile = bufferLimit;
ofn.lpstrTitle = titleBuffer;
ofn.lpstrInitialDir = directoryBuffer;
ofn.Flags = OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY |
OFN_ENABLEHOOK | OFN_EXPLORER | OFN_ENABLESIZING;
fileFilter = env->GetObjectField(peer,
AwtFileDialog::fileFilterID);
if (!JNU_IsNull(env,fileFilter)) {
ofn.Flags |= OFN_ENABLEINCLUDENOTIFY;
}
ofn.lCustData = (LPARAM)peer;
ofn.lpfnHook = (LPOFNHOOKPROC)FileDialogHookProc;
fileFilter = env->GetObjectField(peer, AwtFileDialog::fileFilterID);
if (multipleMode == JNI_TRUE) {
ofn.Flags |= OFN_ALLOWMULTISELECT;
if (!useCommonItemDialog) {
ofn.lStructSize = sizeof(ofn);
ofn.lpstrFilter = s_fileFilterString;
ofn.nFilterIndex = 1;
ofn.hwndOwner = hwndOwner;
ofn.lpstrFile = fileBuffer;
ofn.nMaxFile = bufferLimit;
ofn.lpstrTitle = titleBuffer;
ofn.lpstrInitialDir = directoryBuffer;
ofn.Flags = OFN_LONGNAMES | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY |
OFN_ENABLEHOOK | OFN_EXPLORER | OFN_ENABLESIZING;
if (!JNU_IsNull(env,fileFilter)) {
ofn.Flags |= OFN_ENABLEINCLUDENOTIFY;
}
ofn.lCustData = (LPARAM)peer;
ofn.lpfnHook = (LPOFNHOOKPROC)FileDialogHookProc;
if (multipleMode == JNI_TRUE) {
ofn.Flags |= OFN_ALLOWMULTISELECT;
}
// Save current directory, so we can reset if it changes.
currentDirectory = new TCHAR[MAX_PATH+1];
VERIFY(::GetCurrentDirectory(MAX_PATH, currentDirectory) > 0);
}
// Save current directory, so we can reset if it changes.
currentDirectory = new TCHAR[MAX_PATH+1];
VERIFY(::GetCurrentDirectory(MAX_PATH, currentDirectory) > 0);
mode = env->GetIntField(target, AwtFileDialog::modeID);
AwtDialog::CheckInstallModalHook();
// show the Win32 file dialog
if (mode == java_awt_FileDialog_LOAD) {
result = ::GetOpenFileName(&ofn);
} else {
result = ::GetSaveFileName(&ofn);
if (useCommonItemDialog) {
OLE_NEXT_TRY
GUID fileDialogMode = mode == java_awt_FileDialog_LOAD ? CLSID_FileOpenDialog : CLSID_FileSaveDialog;
OLE_HRT(pfd.CreateInstance(fileDialogMode));
data.fileDialog = pfd;
data.peer = peer;
OLE_HRT(CDialogEventHandler_CreateInstance(&data, IID_PPV_ARGS(&pfde)));
OLE_HRT(pfd->Advise(pfde, &dwCookie));
DWORD dwFlags;
OLE_HRT(pfd->GetOptions(&dwFlags));
dwFlags |= FOS_FORCEFILESYSTEM;
if (multipleMode == JNI_TRUE) {
dwFlags |= FOS_ALLOWMULTISELECT;
}
OLE_HRT(pfd->SetOptions(dwFlags));
OLE_HRT(pfd->SetTitle(titleBuffer));
OLE_HRT(pfd->SetFileTypes(s_fileFilterCount, s_fileFilterSpec));
OLE_HRT(pfd->SetFileTypeIndex(1));
{
IShellItemPtr directoryItem;
OLE_TRY
OLE_HRT(CreateShellItem((LPWSTR) ((LPARAM) directoryBuffer),
directoryItem));
OLE_HRT(pfd->SetFolder(directoryItem));
OLE_CATCH
}
{
CoTaskStringHolder shortName = GetShortName(fileBuffer);
if (shortName) {
OLE_TRY
OLE_HRT(pfd->SetFileName(shortName));
OLE_CATCH
}
}
OLE_CATCH
}
// Fix for 4181310: FileDialog does not show up.
// If the dialog is not shown because of invalid file name
// replace the file name by empty string.
if (!result) {
dlgerr = ::CommDlgExtendedError();
if (dlgerr == FNERR_INVALIDFILENAME) {
_tcscpy_s(fileBuffer, bufferLimit, TEXT(""));
if (mode == java_awt_FileDialog_LOAD) {
result = ::GetOpenFileName(&ofn);
} else {
result = ::GetSaveFileName(&ofn);
if (useCommonItemDialog && SUCCEEDED(OLE_HR)) {
if (mode == java_awt_FileDialog_LOAD) {
result = SUCCEEDED(pfd->Show(hwndOwner)) && data.result;
if (!result) {
OLE_NEXT_TRY
OLE_HRT(pfd->GetResult(&psiResult));
CoTaskStringHolder filePath;
OLE_HRT(psiResult->GetDisplayName(SIGDN_FILESYSPATH, &filePath));
size_t filePathLength = _tcslen(filePath);
data.result.Attach(new TCHAR[filePathLength + 1]);
_tcscpy_s(data.result, filePathLength + 1, filePath);
OLE_CATCH
result = SUCCEEDED(OLE_HR);
}
} else {
result = SUCCEEDED(pfd->Show(hwndOwner));
if (result) {
OLE_NEXT_TRY
OLE_HRT(pfd->GetResult(&psiResult));
CoTaskStringHolder filePath;
OLE_HRT(psiResult->GetDisplayName(SIGDN_FILESYSPATH, &filePath));
size_t filePathLength = _tcslen(filePath);
data.result.Attach(new TCHAR[filePathLength + 1]);
_tcscpy_s(data.result, filePathLength + 1, filePath);
OLE_CATCH
result = SUCCEEDED(OLE_HR);
}
}
} else {
// show the Win32 file dialog
if (mode == java_awt_FileDialog_LOAD) {
result = ::GetOpenFileName(&ofn);
} else {
result = ::GetSaveFileName(&ofn);
}
// Fix for 4181310: FileDialog does not show up.
// If the dialog is not shown because of invalid file name
// replace the file name by empty string.
if (!result) {
dlgerr = ::CommDlgExtendedError();
if (dlgerr == FNERR_INVALIDFILENAME) {
_tcscpy_s(fileBuffer, bufferLimit, TEXT(""));
if (mode == java_awt_FileDialog_LOAD) {
result = ::GetOpenFileName(&ofn);
} else {
result = ::GetSaveFileName(&ofn);
}
}
}
}
@@ -376,19 +821,31 @@ AwtFileDialog::Show(void *p)
AwtDialog::ModalActivateNextWindow(NULL, target, peer);
VERIFY(::SetCurrentDirectory(currentDirectory));
if (!useCommonItemDialog) {
VERIFY(::SetCurrentDirectory(currentDirectory));
}
// Report result to peer.
if (result) {
jint length = multipleMode
? (jint)GetBufferLength(ofn.lpstrFile, ofn.nMaxFile)
: (jint)_tcslen(ofn.lpstrFile);
jint length;
if (useCommonItemDialog) {
length = (jint) GetBufferLength(data.result, data.resultSize);
} else {
length = multipleMode
? (jint) GetBufferLength(ofn.lpstrFile, ofn.nMaxFile)
: (jint) _tcslen(ofn.lpstrFile);
}
jcharArray jnames = env->NewCharArray(length);
if (jnames == NULL) {
throw std::bad_alloc();
}
env->SetCharArrayRegion(jnames, 0, length, (jchar*)ofn.lpstrFile);
if (useCommonItemDialog) {
env->SetCharArrayRegion(jnames, 0, length, (jchar *) (LPTSTR) data.result);
} else {
env->SetCharArrayRegion(jnames, 0, length, (jchar *) ofn.lpstrFile);
}
env->CallVoidMethod(peer, AwtFileDialog::handleSelectedMID, jnames);
env->DeleteLocalRef(jnames);
} else {
@@ -397,6 +854,12 @@ AwtFileDialog::Show(void *p)
DASSERT(!safe_ExceptionOccurred(env));
} catch (...) {
if (useCommonItemDialog) {
if (pfd && dwCookie != OLE_BAD_COOKIE) {
pfd->Unadvise(dwCookie);
}
}
env->DeleteLocalRef(target);
env->DeleteLocalRef(parent);
env->DeleteLocalRef(title);
@@ -406,11 +869,18 @@ AwtFileDialog::Show(void *p)
env->DeleteGlobalRef(peer);
delete[] currentDirectory;
if (ofn.lpstrFile)
delete[] ofn.lpstrFile;
/* ofn.lpstrFile may have not been set if useCommonItemDialog == true,
* so use fileBuffer instead */
delete[] fileBuffer;
throw;
}
if (useCommonItemDialog) {
if (pfd && dwCookie != OLE_BAD_COOKIE) {
pfd->Unadvise(dwCookie);
}
}
env->DeleteLocalRef(target);
env->DeleteLocalRef(parent);
env->DeleteLocalRef(title);
@@ -420,8 +890,9 @@ AwtFileDialog::Show(void *p)
env->DeleteGlobalRef(peer);
delete[] currentDirectory;
if (ofn.lpstrFile)
delete[] ofn.lpstrFile;
/* ofn.lpstrFile may have not been set if useCommonItemDialog == true,
* so use fileBuffer instead */
delete[] fileBuffer;
}
BOOL AwtFileDialog::InheritsNativeMouseWheelBehavior() {return true;}

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2009, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2009, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,10 +26,10 @@
#ifndef AWT_OLE_H
#define AWT_OLE_H
#include "awt.h"
#include <ole2.h>
#include <comdef.h>
#include <comutil.h>
#include "awt.h"
#ifdef _DEBUG
#define _SUN_DEBUG
@@ -183,11 +183,20 @@ struct CLogEntryPoint0 {
struct OLEHolder
{
OLEHolder()
: m_hr(::OleInitialize(NULL))
{}
: m_hr(::OleInitialize(NULL))
{
if (SUCCEEDED(m_hr)) {
STRACE(_T("{OLE"));
}
}
~OLEHolder(){}
operator bool() const { return S_OK==SUCCEEDED(m_hr); }
~OLEHolder(){
if (SUCCEEDED(m_hr)) {
::OleUninitialize();
STRACE(_T("}OLE"));
}
}
operator bool() const { return TRUE==SUCCEEDED(m_hr); }
HRESULT m_hr;
};

View File

@@ -0,0 +1,254 @@
#
# Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
#############################################################################
#
# List of quarantined tests -- tests that should not be run by default, because
# they may fail due to known reason. The reason (CR#) must be mandatory specified.
#
# List items are testnames followed by labels, all MUST BE commented
# as to why they are here and use a label:
# generic-all Problems on all platforms
# generic-ARCH Where ARCH is one of: sparc, sparcv9, x64, i586, etc.
# OSNAME-all Where OSNAME is one of: solaris, linux, windows, macosx, aix
# OSNAME-ARCH Specific on to one OSNAME and ARCH, e.g. solaris-amd64
# OSNAME-REV Specific on to one OSNAME and REV, e.g. solaris-5.8
#
# More than one label is allowed but must be on the same line.
#
#############################################################################
# :hotspot_compiler
compiler/ciReplay/TestSAServer.java 8029528 generic-all
compiler/codecache/jmx/PoolsIndependenceTest.java 8167015 generic-all
compiler/codecache/stress/OverloadCompileQueueTest.java 8166554 generic-all
compiler/codegen/aes/TestCipherBlockChainingEncrypt.java 8220626 macosx-all
compiler/codegen/Test6896617.java 8193479 generic-all
compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java 8225370 generic-all
compiler/graalunit/ApiDirectivesTest.java JBR-2415 generic-all
compiler/graalunit/ApiTest.java JBR-2415 generic-all
compiler/graalunit/AsmAarch64Test.java JBR-2415 generic-all
compiler/graalunit/AsmAmd64Test.java JBR-2415 generic-all
compiler/graalunit/AsmSparcTest.java JBR-2415 generic-all
compiler/graalunit/CollectionsTest.java JBR-2415 generic-all
compiler/graalunit/CoreAarch64Test.java JBR-2415 generic-all
compiler/graalunit/CoreAmd64Test.java JBR-2415 generic-all
compiler/graalunit/CoreJdk9Test.java JBR-2415 generic-all
compiler/graalunit/CoreTest.java JBR-2415 generic-all
compiler/graalunit/DebugTest.java JBR-2415 generic-all
compiler/graalunit/EATest.java JBR-2415 generic-all
compiler/graalunit/HotspotAarch64Test.java JBR-2415 generic-all
compiler/graalunit/HotspotAmd64Test.java JBR-2415 generic-all
compiler/graalunit/HotspotJdk9Test.java JBR-2415 generic-all
compiler/graalunit/HotspotLirTest.java JBR-2415 generic-all
compiler/graalunit/HotspotTest.java JBR-2415 generic-all
compiler/graalunit/JttBackendTest.java JBR-2415 generic-all
compiler/graalunit/JttBytecodeTest.java JBR-2415 generic-all
compiler/graalunit/JttExceptTest.java JBR-2415 generic-all
compiler/graalunit/JttHotpathTest.java JBR-2415 generic-all
compiler/graalunit/JttHotspotTest.java JBR-2415 generic-all
compiler/graalunit/JttJdkTest.java JBR-2415 generic-all
compiler/graalunit/JttLangALTest.java JBR-2415 generic-all
compiler/graalunit/JttLangMathALTest.java JBR-2415 generic-all
compiler/graalunit/JttLangMathMZTest.java JBR-2415 generic-all
compiler/graalunit/JttLangNZTest.java JBR-2415 generic-all
compiler/graalunit/JttLoopTest.java JBR-2415 generic-all
compiler/graalunit/JttOptimizeTest.java JBR-2415 generic-all
compiler/graalunit/JttReflectAETest.java JBR-2415 generic-all
compiler/graalunit/JttReflectFieldGetTest.java JBR-2415 generic-all
compiler/graalunit/JttReflectFieldSetTest.java JBR-2415 generic-all
compiler/graalunit/JttReflectGZTest.java JBR-2415 generic-all
compiler/graalunit/JttThreadsTest.java JBR-2415 generic-all
compiler/graalunit/LirJttTest.java JBR-2415 generic-all
compiler/graalunit/LirTest.java JBR-2415 generic-all
compiler/graalunit/LoopTest.java JBR-2415 generic-all
compiler/graalunit/OptionsTest.java JBR-2415 generic-all
compiler/graalunit/PhasesCommonTest.java JBR-2415 generic-all
compiler/graalunit/Replacements12Test.java JBR-2415 generic-all
compiler/graalunit/Replacements9Test.java JBR-2415 generic-all
compiler/graalunit/ReplacementsTest.java JBR-2415 generic-all
compiler/graalunit/UtilTest.java JBR-2415 generic-all
compiler/jvmci/compilerToVM/GetFlagValueTest.java 8204459 generic-all
compiler/jvmci/compilerToVM/GetResolvedJavaTypeTest.java 8158860 generic-all
compiler/jvmci/compilerToVM/InvalidateInstalledCodeTest.java 8163894 generic-all
compiler/tiered/LevelTransitionTest.java 8067651 generic-all
compiler/types/correctness/CorrectnessTest.java 8225620 solaris-sparcv9
compiler/types/correctness/OffTest.java 8225620 solaris-sparcv9
compiler/c2/Test6852078.java 8194310 generic-all
compiler/c2/Test8004741.java 8235801 generic-all
compiler/cpuflags/TestAESIntrinsicsOnSupportedConfig.java 8190680 generic-all
compiler/runtime/Test8168712.java 8211769,8211771 generic-ppc64,generic-ppc64le,linux-s390x
compiler/rtm/locking/TestRTMAbortRatio.java 8183263 generic-x64
compiler/rtm/locking/TestRTMAbortThreshold.java 8183263 generic-x64
compiler/rtm/locking/TestRTMAfterNonRTMDeopt.java 8183263 generic-x64
compiler/rtm/locking/TestRTMDeoptOnHighAbortRatio.java 8183263 generic-x64
compiler/rtm/locking/TestRTMDeoptOnLowAbortRatio.java 8183263 generic-x64
compiler/rtm/locking/TestRTMLockingCalculationDelay.java 8183263 generic-x64
compiler/rtm/locking/TestRTMLockingThreshold.java 8183263 generic-x64
compiler/rtm/locking/TestRTMSpinLoopCount.java 8183263 generic-x64
compiler/rtm/locking/TestUseRTMDeopt.java 8183263 generic-x64
compiler/rtm/locking/TestUseRTMXendForLockBusy.java 8183263 generic-x64
compiler/rtm/print/TestPrintPreciseRTMLockingStatistics.java 8183263 generic-x64
compiler/jsr292/ContinuousCallSiteTargetChange.java 8234146 solaris-sparcv9
#############################################################################
# :hotspot_gc
gc/epsilon/TestMemoryMXBeans.java 8206434 generic-all
gc/g1/humongousObjects/objectGraphTest/TestObjectGraphAfterGC.java 8156755 generic-all
gc/g1/logging/TestG1LoggingFailure.java 8169634 generic-all
gc/g1/humongousObjects/TestHeapCounters.java 8178918 generic-all
gc/stress/gclocker/TestExcessGCLockerCollections.java 8229120 generic-all
gc/stress/gclocker/TestGCLockerWithParallel.java 8180622 generic-all
gc/stress/gclocker/TestGCLockerWithG1.java 8180622 generic-all
gc/stress/TestJNIBlockFullGC/TestJNIBlockFullGC.java 8192647 generic-all
gc/metaspace/CompressedClassSpaceSizeInJmapHeap.java 8193639 solaris-all
#############################################################################
# :hotspot_runtime
runtime/jni/terminatedThread/TestTerminatedThread.java 8219652 aix-ppc64
runtime/ReservedStack/ReservedStackTest.java 8231031 generic-all
#############################################################################
# :hotspot_serviceability
serviceability/sa/ClhsdbAttach.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbCDSCore.java 8193639 solaris-all
serviceability/sa/ClhsdbCDSJstackPrintAll.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/CDSJMapClstats.java 8193639 solaris-all
serviceability/sa/ClhsdbField.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbFindPC.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbFlags.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbInspect.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbJdis.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbJhisto.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbJstack.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbJstackXcompStress.java 8193639 solaris-all
serviceability/sa/ClhsdbLongConstant.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbPmap.java 8193639 solaris-all
serviceability/sa/ClhsdbPrintAll.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbPrintAs.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbPrintStatics.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbPstack.java 8193639 solaris-all
serviceability/sa/ClhsdbRegionDetailsScanOopsForG1.java 8193639 solaris-all
serviceability/sa/ClhsdbScanOops.java 8193639,8235220,8230731 solaris-all,linux-x64,macosx-x64,windows-x64
serviceability/sa/ClhsdbSource.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbThread.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbVmStructsDump.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/ClhsdbWhere.java 8193639,JBR-2416 solaris-all,generic-all
serviceability/sa/DeadlockDetectionTest.java 8193639 solaris-all
serviceability/sa/JhsdbThreadInfoTest.java 8193639 solaris-all
serviceability/sa/jmap-hprof/JMapHProfLargeHeapTest.java 8193639 solaris-all
serviceability/sa/TestClassDump.java 8193639 solaris-all
serviceability/sa/TestClhsdbJstackLock.java 8193639 solaris-all
serviceability/sa/TestCpoolForInvokeDynamic.java 8193639 solaris-all
serviceability/sa/TestDefaultMethods.java 8193639 solaris-all
serviceability/sa/TestG1HeapRegion.java 8193639 solaris-all
serviceability/sa/TestHeapDumpForInvokeDynamic.java 8193639 solaris-all
serviceability/sa/TestHeapDumpForLargeArray.java 8193639 solaris-all
serviceability/sa/TestInstanceKlassSize.java 8193639,8230664 solaris-all,linux-ppc64le,linux-ppc64
serviceability/sa/TestInstanceKlassSizeForInterface.java 8193639 solaris-all
serviceability/sa/TestIntConstant.java 8193639 solaris-all
serviceability/sa/TestJhsdbJstackLock.java 8193639 solaris-all
serviceability/sa/TestJmapCore.java 8193639 solaris-all
serviceability/sa/TestJmapCoreMetaspace.java 8193639 solaris-all
serviceability/sa/TestPrintMdo.java 8193639 solaris-all
serviceability/sa/TestRevPtrsForInvokeDynamic.java 8191270 generic-all
serviceability/sa/TestType.java 8193639 solaris-all
serviceability/sa/TestUniverse.java#id0 8193639 solaris-all
serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatIntervalTest.java 8214032 generic-all
serviceability/jvmti/HeapMonitor/MyPackage/HeapMonitorStatArrayCorrectnessTest.java 8224150 generic-all
#############################################################################
# :hotspot_misc
#############################################################################
#############################################################################
# :vmTestbase_*
#############################################################################
vmTestbase/nsk/monitoring/MemoryPoolMBean/isCollectionUsageThresholdExceeded/isexceeded003/TestDescription.java 8153598 generic-all
vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded001/TestDescription.java 8198668 generic-all
vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded002/TestDescription.java 8153598 generic-all
vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded003/TestDescription.java 8198668 generic-all
vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded004/TestDescription.java 8153598 generic-all
vmTestbase/nsk/monitoring/MemoryPoolMBean/isUsageThresholdExceeded/isexceeded005/TestDescription.java 8153598 generic-all
vmTestbase/nsk/monitoring/ThreadMXBean/ThreadInfo/Deadlock/JavaDeadlock001/TestDescription.java 8060733 generic-all
vmTestbase/nsk/jdi/BScenarios/multithrd/tc02x004/TestDescription.java 8231491 macosx-all
vmTestbase/nsk/jdi/ThreadReference/stop/stop001/TestDescription.java 7034630 generic-all
vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses021/TestDescription.java 8065773 generic-all
vmTestbase/nsk/jdi/VirtualMachine/redefineClasses/redefineclasses023/TestDescription.java 8065773 generic-all
vmTestbase/nsk/jdb/eval/eval001/eval001.java 8221503 generic-all
vmTestbase/metaspace/gc/firstGC_10m/TestDescription.java 8208250 generic-all
vmTestbase/metaspace/gc/firstGC_50m/TestDescription.java 8208250 generic-all
vmTestbase/metaspace/gc/firstGC_99m/TestDescription.java 8208250 generic-all
vmTestbase/metaspace/gc/firstGC_default/TestDescription.java 8208250 generic-all
vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted003/TestDescription.java 6606767 generic-all
vmTestbase/nsk/jvmti/ResourceExhausted/resexhausted004/TestDescription.java 6606767 generic-all
vmTestbase/nsk/jvmti/AttachOnDemand/attach045/TestDescription.java 8202971 generic-all
vmTestbase/nsk/jvmti/scenarios/jni_interception/JI05/ji05t001/TestDescription.java 8219652 aix-ppc64
vmTestbase/nsk/jvmti/scenarios/jni_interception/JI06/ji06t001/TestDescription.java 8219652 aix-ppc64
vmTestbase/nsk/jvmti/SetJNIFunctionTable/setjniftab001/TestDescription.java 8219652 aix-ppc64
vmTestbase/gc/lock/jni/jnilock002/TestDescription.java 8208243,8192647 generic-all
vmTestbase/jit/escape/LockCoarsening/LockCoarsening001/TestDescription.java 8148743 generic-all
vmTestbase/jit/escape/LockCoarsening/LockCoarsening002/TestDescription.java 8208259 generic-all
vmTestbase/vm/mlvm/indy/func/jvmti/redefineClassInBootstrap/TestDescription.java 8013267 generic-all
vmTestbase/vm/mlvm/meth/func/java/throwException/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/meth/func/jdi/breakpointOtherStratum/Test.java 8208257,8058176 generic-all
vmTestbase/vm/mlvm/meth/stress/compiler/i2c_c2i/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/meth/stress/compiler/sequences/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/meth/stress/gc/callSequencesDuringGC/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/meth/stress/java/sequences/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/meth/stress/jdi/breakpointInCompiledCode/Test.java 8058176 generic-all
vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2none_a/TestDescription.java 8013267 generic-all
vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2manyDiff_b/TestDescription.java 8013267 generic-all
vmTestbase/vm/mlvm/indy/func/jvmti/mergeCP_indy2manySame_b/TestDescription.java 8013267 generic-all
vmTestbase/nsk/jdwp/ThreadReference/ForceEarlyReturn/forceEarlyReturn001/forceEarlyReturn001.java 7199837 generic-all
#############################################################################

View File

@@ -265,7 +265,6 @@ sun/awt/shell/ShellFolderMemoryLeak.java 8197794 windows-all
sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java 8022403 generic-all
sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java 8196102 generic-all
sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java 8196180 windows-all,macosx-all
sun/java2d/GdiRendering/InsetClipping.java 8196181 windows-all
java/awt/Graphics2D/CopyAreaOOB.java 7001973 windows-all,macosx-all
sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java 8144029 macosx-all,linux-all
sun/java2d/SunGraphics2D/DrawImageBilinear.java 8191406 generic-all

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2007, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -28,8 +28,14 @@
* @run main SystemBgColorTest
*/
import java.awt.*;
import java.awt.image.*;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.SystemColor;
import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
import java.awt.image.IndexColorModel;
public class SystemBgColorTest {
public static final int TESTW = 10;
@@ -109,12 +115,20 @@ public class SystemBgColorTest {
}
public static void test(Image src, BufferedImage dst, Color bg) {
Graphics g = dst.getGraphics();
Graphics2D g = (Graphics2D) dst.getGraphics();
g.setComposite(AlphaComposite.Src);
g.setColor(Color.white);
g.fillRect(0, 0, TESTW, TESTH);
g.drawImage(src, 0, 0, bg, null);
if (dst.getRGB(0, 0) != bg.getRGB()) {
error("bad bg pixel for: "+bg);
int dstRGB = dst.getRGB(0, 0);
int bgRGB = bg.getRGB();
if (!dst.getColorModel().hasAlpha()) {
bgRGB |= 0xFF000000;
}
if (dstRGB != bgRGB) {
System.err.println("Actual: " + Integer.toHexString(dstRGB));
System.err.println("Expected: " + Integer.toHexString(bgRGB));
error("bad bg pixel for: " + bg);
}
}
}
}

View File

@@ -42,11 +42,13 @@
* and understand cases where those fonts may not be installed.
*/
import java.awt.Font;
import java.io.File;
public class WindowsIndicFonts {
static boolean failed = false;
static Font dialog = new Font(Font.DIALOG, Font.PLAIN, 12);
static String windowsFontDir = "c:\\windows\\fonts";
public static void main(String args[]) {
@@ -54,27 +56,38 @@ public class WindowsIndicFonts {
return;
}
test("\u0905", "Devanagari"); // from Mangal font
test("\u0985", "Bengali"); // from Vrinda font
test("\u0a05", "Gurmukhi"); // from Raavi font
test("\u0a85", "Gujurati"); // from Shruti font
test("\u0b05", "Oriya"); // from Kalinga font
test("\u0b85", "Tamil"); // from Latha font
test("\u0c05", "Telugu"); // from Gautami font
test("\u0c85", "Kannada"); // from Tunga font
test("\u0d05", "Malayalam"); // from Kartika font
test("\u0c05", "Sinhala"); // from Iskoola Pota font
test("\u0e05", "Thai"); // from DokChampa font
test("\u0e87", "Lao"); // from DokChampa font
test("\u0e05", "Khmer"); // from Khmer UI font
test("\u1820", "Mongolian"); // from Mongolian Baiti font
String sysRootDir = System.getenv("SYSTEMROOT");
System.out.println("SysRootDir=" + sysRootDir);
if (sysRootDir != null) {
windowsFontDir = sysRootDir + "\\fonts";
}
test("\u0905", "Devanagari", "mangal.ttf"); // from Mangal font
test("\u0985", "Bengali", "vrinda.ttf"); // from Vrinda font
test("\u0a05", "Gurmukhi", "raavi.ttf"); // from Raavi font
test("\u0a85", "Gujurati", "shruti.ttf"); // from Shruti font
test("\u0b05", "Oriya", "kalinga.ttf"); // from Kalinga font
test("\u0b85", "Tamil", "latha.ttf"); // from Latha font
test("\u0c05", "Telugu", "gautami.ttf"); // from Gautami font
test("\u0c85", "Kannada", "tunga.ttf"); // from Tunga font
test("\u0d05", "Malayalam", "kartika.ttf"); // from Kartika font
test("\u0c05", "Sinhala", "iskpota.ttf"); // from Iskoola Pota font
test("\u0e05", "Thai", "dokchamp.ttf"); // from DokChampa font
test("\u0e87", "Lao", "dokchamp.ttf"); // from DokChampa font
test("\u0e05", "Khmer", "khmerui.ttf"); // from Khmer UI font
test("\u1820", "Mongolian", "monbaiti.ttf"); // from Mongolian Baiti font
if (failed) {
throw new RuntimeException("Missing support for a script");
}
}
static void test(String text, String script) {
static void test(String text, String script, String filename) {
File f = new File(windowsFontDir, filename);
if (!f.exists()) {
System.out.println("Can't find required font file: " + filename);
return;
}
System.out.println("found:" + f + " for " + script);
if (dialog.canDisplayUpTo(text) != -1) {
failed = true;
System.out.println("No codepoint for " + script);

View File

@@ -23,6 +23,7 @@
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
@@ -78,9 +79,16 @@ public final class NSTexturedJFrame {
private static void testImages(BufferedImage img1, BufferedImage img2,
boolean shouldbeDifferent) {
boolean different = false;
int tol = 5;
for (int x = 0; x < img1.getWidth(); ++x) {
for (int y = 0; y < img1.getHeight(); ++y) {
if (img1.getRGB(x, y) != img2.getRGB(x, y)) {
Color c1 = new Color(img1.getRGB(x, y));
Color c2 = new Color(img2.getRGB(x, y));
if ((Math.abs(c1.getRed() - c2.getRed()) > tol) &&
(Math.abs(c1.getBlue() - c2.getBlue()) > tol) &&
(Math.abs(c1.getGreen() - c2.getGreen()) > tol )) {
different = true;
}
}

View File

@@ -87,6 +87,8 @@ public class bug8020708 {
public void run() {
frame = new JFrame("Test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setUndecorated(true);
frame.setLocationRelativeTo(null);
frame.setSize(300, 200);
JDesktopPane desktop = new JDesktopPane();
@@ -132,6 +134,7 @@ public class bug8020708 {
frame.dispose();
}
});
robot.delay(500);
}
static final boolean installLookAndFeel(String lafName) throws Exception {

View File

@@ -82,6 +82,7 @@ public class TabProb extends JFrame {
panel.add(label);
tabpanel.add("TEST", panel);
add(tabpanel, BorderLayout.CENTER);
setUndecorated(true);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}

View File

@@ -31,9 +31,7 @@
*/
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.Robot;
import java.awt.event.KeyEvent;
@@ -41,7 +39,6 @@ import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
@@ -56,27 +53,32 @@ public class TestNimbusOverride extends JFrame
private static boolean passed = false;
public static void main(String [] args) throws Exception {
Robot robot = new Robot();
SwingUtilities.invokeAndWait(() -> {
try {
UIManager.setLookAndFeel("javax.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception e) {
throw new RuntimeException(e);
}
tf = new TestNimbusOverride();
tf.pack();
tf.setVisible(true);
});
robot.setAutoDelay(100);
robot.waitForIdle();
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_SPACE);
robot.waitForIdle();
SwingUtilities.invokeAndWait(() -> tf.dispose());
if (!passed) {
try {
Robot robot = new Robot();
SwingUtilities.invokeAndWait(() -> {
try {
UIManager.setLookAndFeel(
"javax.swing.plaf.nimbus.NimbusLookAndFeel");
} catch (Exception e) {
throw new RuntimeException(e);
}
tf = new TestNimbusOverride();
tf.pack();
tf.setVisible(true);
});
robot.setAutoDelay(100);
robot.waitForIdle();
robot.keyPress(KeyEvent.VK_SPACE);
robot.keyRelease(KeyEvent.VK_SPACE);
robot.waitForIdle();
if (!passed) {
throw new RuntimeException(
"Setting Nimbus.Overrides property affects custom keymap installation");
"Setting Nimbus.Overrides property affects custom" +
" keymap installation");
}
} finally {
SwingUtilities.invokeAndWait(() -> tf.dispose());
}
}
public TestNimbusOverride()
@@ -84,8 +86,8 @@ public class TestNimbusOverride extends JFrame
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
/*
* Create a frame containing a JEditorPane, and override the action for the space bar to show
* a dialog.
* Create a frame containing a JEditorPane, and override the action for
* the space bar to show a dialog.
*/
JEditorPane pp = new JEditorPane();
UIDefaults defaults = new UIDefaults();
@@ -102,7 +104,8 @@ public class TestNimbusOverride extends JFrame
Keymap origKeymap = pp.getKeymap();
Keymap km = JEditorPane.addKeymap("Test keymap", origKeymap);
km.addActionForKeyStroke(KeyStroke.getKeyStroke(' '), new AbstractAction("SHOW_SPACE") {
km.addActionForKeyStroke(KeyStroke.getKeyStroke(' '),
new AbstractAction("SHOW_SPACE") {
@Override
public void actionPerformed(ActionEvent e)
{

999
test/jdk/jbProblemList.txt Normal file
View File

@@ -0,0 +1,999 @@
###########################################################################
#
# Copyright (c) 2009, 2019, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#
###########################################################################
#
# List of tests that should not be run by test/Makefile, for various reasons:
# 1. Does not run with jtreg -samevm mode
# 2. Causes problems in jtreg -samevm mode for jtreg or tests that follow it
# 3. The test is too slow or consumes too many system resources
# 4. The test fails when run on any official build systems
#
# It is possible that a test being on this list is a mistake, and that some
# other test in samevm mode caused tests to fail, mistakes happen.
#
# Tests marked @ignore are not run by test/Makefile, but harmless to be listed.
#
# Tests that explicitly state "@run main/othervm ...", and are not listed here,
# will be run in the same batch as the samevm tests.
#
# Shell tests are othervm by default.
#
# List items are testnames followed by labels, all MUST BE commented
# as to why they are here and use a label:
# generic-all Problems on all platforms
# generic-ARCH Where ARCH is one of: sparc, sparcv9, x64, i586, ppc64,
# ppc64le, s390x etc.
# OSNAME-all Where OSNAME is one of: solaris, linux, windows, macosx, aix
# OSNAME-ARCH Specific on to one OSNAME and ARCH, e.g. solaris-amd64
# OSNAME-REV Specific on to one OSNAME and REV, e.g. solaris-5.8
#
# More than one label is allowed but must be on the same line comma seperated,
# without spaces.
# If there are several lines mentioning the same test, the last one is used.
#
#############################################################################
#
# Running the tests:
# cd test && make JT_HOME=jtreg_home PRODUCT_HOME=jdk_home jdk_all
# Or instead of jdk_all, use any of the jdk_* targets.
#
# Samevm Notes:
# * Although some tests may have only been seen to fail on some platforms,
# they might be flagged as 'generic-all' because the problem they have
# could cause hidden slowdowns on other platforms.
# Most samevm problems will be generic-all, but windows usually dislikes
# them the most.
# Address already in use or connection errors indicate a generic port issue.
# (this is not necessarily a samevm issue, but an issue for running the tests
# on shared machines, two people or two test runs will collide).
# * Samevm problem (windows in particular) is not closing all input/output
# * Samevm problem when a test calls setSecurityManager()
# * Samevm problem with setHttps*() is used? (not exactly sure here)
# * Samevm problem when stuffing system properties with non Strings or anything
# * Samevm problem when changing vm settings, or registering any vm actions
# * Samevm problems with deleteOnExit(), if it must happen at end of test
# * Samevm problems with URLClassLoader? (no details here)
# * Samevm problems with dependence on predictable GC or finalizations
#
# Any of the above problems may mean the test needs to be flagged as "othervm".
#
#############################################################################
#
# Fixing the tests:
#
# Some tests just may need to be run with "othervm", and that can easily be
# done by adding a @run line (or modifying any existing @run):
# @run main/othervm NameOfMainClass
# Make sure this @run follows any use of @library.
# Otherwise, if the test is a samevm possibility, make sure the test is
# cleaning up after itself, closing all streams, deleting temp files, etc.
#
# Keep in mind that the bug could be in many places, and even different per
# platform, it could be a bug in any one of:
# - the testcase
# - the jdk (jdk classes, native code, or hotspot)
# - the native compiler
# - the javac compiler
# - the OS (depends on what the testcase does)
#
# If you managed to really fix one of these tests, here is how you can
# remove tests from this list:
# 1. Make sure test passes on all platforms with samevm, or mark it othervm
# 2. Make sure test passes on all platforms when run with it's entire group
# 3. Make sure both VMs are tested, -server and -client, if possible
# 4. Use your favorite build and test system to verify these results
# 5. Delete lines in this file, include the changes with your test changes
#
# You may need to repeat your testing 2 or even 3 times to verify good
# results, some of these samevm failures are not very predictable.
#
#############################################################################
############################################################################
# jdk_awt
java/awt/Dialog/MakeWindowAlwaysOnTop/MakeWindowAlwaysOnTop.java 8167352 macosx-all
java/awt/Dialog/NestedDialogs/Modal/NestedModalDialogTest.java 8225790 linux-all
java/awt/Dialog/NestedDialogs/Modeless/NestedModelessDialogTest.java 8225790 linux-all
java/awt/event/HierarchyEvent/AncestorResized/AncestorResized.java 6618538 windows-all
java/awt/event/MouseEvent/EventTimeInFuture/EventTimeInFuture.java 8032254 linux-all
java/awt/event/MouseEvent/MouseClickTest/MouseClickTest.java 8168389 windows-all,macosx-all
java/awt/event/KeyEvent/SwallowKeyEvents/SwallowKeyEvents.java 8224055 macosx-all
java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowBlockingTest.java 8168408 windows-all,macosx-all
java/awt/Focus/FocusOwnerFrameOnClick/FocusOwnerFrameOnClick.java 8081489 generic-all
java/awt/Focus/IconifiedFrameFocusChangeTest/IconifiedFrameFocusChangeTest.java 6849364 generic-all
java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusToFrontTest.java 6848406 generic-all
java/awt/Focus/AutoRequestFocusTest/AutoRequestFocusSetVisibleTest.java 6848407 generic-all
java/awt/Frame/MaximizedUndecorated/MaximizedUndecorated.java 8022302 generic-all
java/awt/Frame/FrameLocation/FrameLocation.java 8233703 linux-all
java/awt/FileDialog/FileDialogIconTest/FileDialogIconTest.java 8160558 windows-all
java/awt/FileDialog/8003399/bug8003399.java 8198334 windows-all
java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion.java 8060176 windows-all,macosx-all
java/awt/event/MouseWheelEvent/InfiniteRecursion/InfiniteRecursion_1.java 8060176 windows-all,macosx-all
java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java 8164464 linux-all,macosx-all
java/awt/dnd/URIListBetweenJVMsTest/URIListBetweenJVMsTest.java 8171510 macosx-all
javax/swing/dnd/7171812/bug7171812.java 8041447 macosx-all
java/awt/Focus/ChoiceFocus/ChoiceFocus.java 8169103 windows-all,macosx-all
java/awt/Focus/ClearLwQueueBreakTest/ClearLwQueueBreakTest.java 8198618 macosx-all,linux-all
java/awt/Focus/ConsumeNextKeyTypedOnModalShowTest/ConsumeNextKeyTypedOnModalShowTest.java 6986252 macosx-all
java/awt/Focus/FocusTraversalPolicy/ButtonGroupLayoutTraversal/ButtonGroupLayoutTraversalTest.java 8198619 macosx-all
java/awt/Focus/KeyEventForBadFocusOwnerTest/KeyEventForBadFocusOwnerTest.java 8198621 macosx-all
java/awt/Focus/MouseClickRequestFocusRaceTest/MouseClickRequestFocusRaceTest.java 8194753 linux-all,macosx-all
java/awt/Focus/NoAutotransferToDisabledCompTest/NoAutotransferToDisabledCompTest.java 7152980 macosx-all
java/awt/Focus/ShowFrameCheckForegroundTest/ShowFrameCheckForegroundTest.java 8028701 macosx-all,linux-all
java/awt/Focus/SimpleWindowActivationTest/SimpleWindowActivationTest.java 8159599 macosx-all
java/awt/Focus/TypeAhead/TestFocusFreeze.java 8198622 macosx-all
java/awt/Focus/ToFrontFocusTest/ToFrontFocus.java 7156130 linux-all
java/awt/Focus/WrongKeyTypedConsumedTest/WrongKeyTypedConsumedTest.java 8169096 macosx-all
java/awt/event/KeyEvent/CorrectTime/CorrectTime.java 6626492 generic-all
java/awt/EventQueue/6980209/bug6980209.java 8198615 macosx-all
java/awt/Frame/ExceptionOnSetExtendedStateTest/ExceptionOnSetExtendedStateTest.java 8198237 macosx-all
java/awt/Frame/ShapeNotSetSometimes/ShapeNotSetSometimes.java 8144030 macosx-all,linux-all
java/awt/grab/EmbeddedFrameTest1/EmbeddedFrameTest1.java 7080150 macosx-all
java/awt/event/InputEvent/EventWhenTest/EventWhenTest.java 8168646 generic-all
java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogButtonTest/EnqueueWithDialogButtonTest.java 8198623 macosx-all
java/awt/KeyboardFocusmanager/TypeAhead/FreezeTest/FreezeTest.java 8198623 macosx-all
java/awt/KeyboardFocusmanager/TypeAhead/TestDialogTypeAhead.java 8198626 macosx-all
java/awt/Mixing/AWT_Mixing/HierarchyBoundsListenerMixingTest.java 8049405,8238720 macosx-all,windows-all
java/awt/Mixing/AWT_Mixing/OpaqueOverlappingChoice.java 8048171 generic-all
java/awt/Mixing/AWT_Mixing/JMenuBarOverlapping.java 8159451 linux-all,windows-all,macosx-all
java/awt/Mixing/AWT_Mixing/JSplitPaneOverlapping.java 8194765 generic-all
java/awt/Mixing/AWT_Mixing/JInternalFrameMoveOverlapping.java 6986109 windows-all
java/awt/Mixing/AWT_Mixing/MixingFrameResizing.java 8238720 windows-all
java/awt/Mixing/AWT_Mixing/MixingPanelsResizing.java 8049405 generic-all
java/awt/Mixing/AWT_Mixing/JComboBoxOverlapping.java 8049405 macosx-all
java/awt/Mixing/AWT_Mixing/JPopupMenuOverlapping.java 8049405 macosx-all
java/awt/Mixing/AWT_Mixing/JButtonInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JButtonOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JColorChooserOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JEditorPaneInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JEditorPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JLabelInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JLabelOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JListInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JListOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JPanelInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JPanelOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JProgressBarInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JProgressBarOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JScrollBarInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JScrollBarOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JSliderInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JSliderOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JSpinnerInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JSpinnerOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTableInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTableOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTextAreaInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTextAreaOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTextFieldInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JTextFieldOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JToggleButtonInGlassPaneOverlapping.java 8158801 windows-all
java/awt/Mixing/AWT_Mixing/JToggleButtonOverlapping.java 8158801 windows-all
java/awt/Mixing/NonOpaqueInternalFrame.java 7124549 macosx-all
java/awt/Focus/ActualFocusedWindowTest/ActualFocusedWindowRetaining.java 6829264 generic-all
java/awt/datatransfer/DragImage/MultiResolutionDragImageTest.java 8080982 generic-all
java/awt/datatransfer/SystemFlavorMap/AddFlavorTest.java 8079268 linux-all
java/awt/PopupMenu/PopupMenuLocation.java 8238720 windows-all,linux-all
java/awt/Toolkit/ScreenInsetsTest/ScreenInsetsTest.java 6829250 windows-all
java/awt/Toolkit/RealSync/Test.java 6849383 macosx-all,linux-all
java/awt/LightweightComponent/LightweightEventTest/LightweightEventTest.java 8159252 windows-all
java/awt/EventDispatchThread/HandleExceptionOnEDT/HandleExceptionOnEDT.java 8203047 macosx-all
java/awt/EventDispatchThread/LoopRobustness/LoopRobustness.java 8073636 macosx-all
java/awt/FullScreen/FullScreenInsets/FullScreenInsets.java 7019055 windows-all,linux-all
java/awt/Focus/8013611/JDK8013611.java 8175366 windows-all,macosx-all
java/awt/Focus/6378278/InputVerifierTest.java 8198616 macosx-all
java/awt/Focus/6382144/EndlessLoopTest.java 8198617 macosx-all
java/awt/Focus/6981400/Test1.java 8029675 windows-all,macosx-all
java/awt/Focus/8073453/AWTFocusTransitionTest.java 8136517 macosx-all
java/awt/Focus/8073453/SwingFocusTransitionTest.java 8136517,8197561 macosx-all,windows-all
java/awt/Focus/6981400/Test3.java 8173264 generic-all
java/awt/event/KeyEvent/ExtendedKeyCode/ExtendedKeyCodeTest.java 8169476 windows-all,macosx-all
java/awt/event/KeyEvent/KeyChar/KeyCharTest.java 8169474,8224055 macosx-all,windows-all
java/awt/event/MouseEvent/SpuriousExitEnter/SpuriousExitEnter_3.java 6854300 generic-all
java/awt/event/KeyEvent/ExtendedModifiersTest/ExtendedModifiersTest.java 8129778 generic-all
java/awt/event/KeyEvent/KeyMaskTest/KeyMaskTest.java 8129778 generic-all
java/awt/event/MouseEvent/MouseButtonsAndKeyMasksTest/MouseButtonsAndKeyMasksTest.java 8129778 generic-all
java/awt/dnd/URIListToFileListBetweenJVMsTest/URIListToFileListBetweenJVMsTest.java 8194947 generic-all
java/awt/Frame/SetMaximizedBounds/SetMaximizedBounds.java 8196006 windows-all
java/awt/Frame/FramesGC/FramesGC.java 8079069 macosx-all
java/awt/FullScreen/AltTabCrashTest/AltTabCrashTest.java 8047218 generic-all
java/awt/GridLayout/ChangeGridSize/ChangeGridSize.java 8238720,8022054 windows-all,linux-all
java/awt/GridLayout/ComponentPreferredSize/ComponentPreferredSize.java 8238720,8022054 windows-all,linux-all
java/awt/GridLayout/LayoutExtraGaps/LayoutExtraGaps.java 8000171 windows-all
java/awt/Mouse/GetMousePositionTest/GetMousePositionWithPopup.java 8196017 windows-all
java/awt/Scrollbar/ScrollbarMouseWheelTest/ScrollbarMouseWheelTest.java 8196018 windows-all,linux-all
java/awt/TrayIcon/ActionCommand/ActionCommand.java 8150540 windows-all
java/awt/TrayIcon/ActionEventMask/ActionEventMask.java 8150540 windows-all
java/awt/TrayIcon/ActionEventTest/ActionEventTest.java 8150540 windows-all
java/awt/TrayIcon/ModalityTest/ModalityTest.java 8150540 windows-all,macosx-all
java/awt/TrayIcon/MouseEventMask/MouseEventMaskTest.java 8150540 windows-all
java/awt/TrayIcon/MouseMovedTest/MouseMovedTest.java 8150540 windows-all
java/awt/TrayIcon/RightClickWhenBalloonDisplayed/RightClickWhenBalloonDisplayed.java 8238720 windows-all
java/awt/TrayIcon/SecurityCheck/FunctionalityCheck/FunctionalityCheck.java 8150540 windows-all
java/awt/TrayIcon/SystemTrayInstance/SystemTrayInstanceTest.java 8193543 linux-all
java/awt/TrayIcon/TrayIconEventModifiers/TrayIconEventModifiersTest.java 8150540 windows-all
java/awt/TrayIcon/TrayIconEvents/TrayIconEventsTest.java 8150540 windows-all
java/awt/TrayIcon/TrayIconMouseTest/TrayIconMouseTest.java 8150540 windows-all
java/awt/TrayIcon/TrayIconPopup/TrayIconPopupClickTest.java 8150540 windows-all,macosx-all
java/awt/TrayIcon/TrayIconPopup/TrayIconPopupTest.java 8150540 windows-all
java/awt/TrayIcon/PopupMenuLeakTest/PopupMenuLeakTest.java 8196440 linux-all
java/awt/Window/Grab/GrabTest.java 8196019 windows-all
java/awt/Window/ShapedAndTranslucentWindows/SetShapeAndClick.java 8197936 macosx-all
java/awt/Window/ShapedAndTranslucentWindows/SetShapeDynamicallyAndClick.java 8013450 macosx-all
java/awt/Window/ShapedAndTranslucentWindows/ShapedTranslucentWindowClick.java 8013450 macosx-all
java/awt/Window/ShapedAndTranslucentWindows/TranslucentChoice.java 8221901 linux-all
java/awt/Window/MultiWindowApp/ChildAlwaysOnTopTest.java 8222323 windows-all
java/awt/Window/ShapedAndTranslucentWindows/FocusAWTTest.java 8222328 windows-all,linux-all,macosx-all
java/awt/Window/ShapedAndTranslucentWindows/Shaped.java 8222328 windows-all,linux-all,macosx-all
java/awt/Window/ShapedAndTranslucentWindows/ShapedByAPI.java 8222328 windows-all,linux-all,macosx-all
java/awt/Window/ShapedAndTranslucentWindows/ShapedTranslucent.java 8222328 windows-all,linux-all,macosx-all
java/awt/Window/ShapedAndTranslucentWindows/StaticallyShaped.java 8165218,8222328 windows-all,macosx-all,linux-all
java/awt/Window/ShapedAndTranslucentWindows/Translucent.java 8222328 windows-all,linux-all,macosx-all
java/awt/Window/AlwaysOnTop/AutoTestOnTop.java 6847593 linux-all
java/awt/Window/GrabSequence/GrabSequence.java 6848409 macosx-all,linux-all
java/awt/Window/LocationAtScreenCorner/LocationAtScreenCorner.java 8203371 linux-all,solaris-all
java/awt/font/TextLayout/CombiningPerf.java 8192931 generic-all
java/awt/font/TextLayout/TextLayoutBounds.java 8169188 generic-all
java/awt/font/StyledMetrics/BoldSpace.java 8198422 linux-all
java/awt/FontMetrics/FontCrash.java 8198336 windows-all
java/awt/FontMetrics/MaxAdvanceIsMax.java 8221305,8231495 solaris-all,macosx-all,linux-all
java/awt/image/DrawImage/IncorrectAlphaSurface2SW.java 8056077 generic-all
java/awt/image/DrawImage/IncorrectClipXorModeSW2Surface.java 8196025 windows-all
java/awt/image/DrawImage/IncorrectClipXorModeSurface2Surface.java 8196025 windows-all
java/awt/image/DrawImage/IncorrectSourceOffset.java 8196086 windows-all
java/awt/image/DrawImage/IncorrectUnmanagedImageRotatedClip.java 8196087 windows-all
java/awt/image/MultiResolutionImage/MultiResolutionDrawImageWithTransformTest.java 8198390 generic-all
java/awt/image/multiresolution/MultiresolutionIconTest.java 8169187 macosx-all
java/awt/print/Headless/HeadlessPrinterJob.java 8196088 windows-all
java/awt/print/PrinterJob/TestPgfmtSetMPA.java 8198343 generic-all
sun/awt/datatransfer/SuplementaryCharactersTransferTest.java 8011371 generic-all
sun/awt/shell/ShellFolderMemoryLeak.java 8197794 windows-all
sun/java2d/DirectX/OnScreenRenderingResizeTest/OnScreenRenderingResizeTest.java 8022403 generic-all
sun/java2d/DirectX/OverriddenInsetsTest/OverriddenInsetsTest.java 8196102 generic-all
sun/java2d/DirectX/RenderingToCachedGraphicsTest/RenderingToCachedGraphicsTest.java 8196180 windows-all,macosx-all
sun/java2d/GdiRendering/InsetClipping.java 8196181 windows-all
java/awt/Graphics2D/CopyAreaOOB.java 7001973 windows-all,macosx-all
sun/java2d/SunGraphics2D/EmptyClipRenderingTest.java 8144029 macosx-all,linux-all
sun/java2d/SunGraphics2D/DrawImageBilinear.java 8191406 generic-all
sun/java2d/SunGraphics2D/PolyVertTest.java 6986565 generic-all
sun/java2d/SunGraphics2D/SimplePrimQuality.java 6992007 generic-all
sun/java2d/SunGraphics2D/SourceClippingBlitTest/SourceClippingBlitTest.java 8196185 generic-all
sun/java2d/pipe/InterpolationQualityTest.java 8171303 windows-all,linux-all,macosx-all
sun/java2d/X11SurfaceData/SharedMemoryPixmapsTest/SharedMemoryPixmapsTest.sh 8221451 linux-all
sun/java2d/loops/RenderToCustomBufferTest.java 8220150 macosx-all
java/awt/FullScreen/DisplayChangeVITest/DisplayChangeVITest.java 8169469 windows-all
java/awt/Graphics2D/DrawString/DrawRotatedStringUsingRotatedFont.java 8197796 generic-all
java/awt/TextArea/TextAreaScrolling/TextAreaScrolling.java 8196300 windows-all
java/awt/print/PrinterJob/PSQuestionMark.java 7003378 generic-all
java/awt/print/PrinterJob/GlyphPositions.java 7003378 generic-all
java/awt/print/PrinterJob/Margins.java 8196301 windows-all,macosx-all
java/awt/PrintJob/PrinterException.java 8196301 windows-all,macosx-all
java/awt/Choice/PopupPosTest/PopupPosTest.java 8197811 windows-all
java/awt/Choice/ChoiceMouseWheelTest/ChoiceMouseWheelTest.java 7100044 macosx-all,linux-all
java/awt/Component/CreateImage/CreateImage.java 8198334 windows-all
java/awt/Component/GetScreenLocTest/GetScreenLocTest.java 4753654 generic-all
java/awt/Component/SetEnabledPerformance/SetEnabledPerformance.java 8165863 macosx-all
java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.java 8017454 macosx-all
java/awt/Focus/NonFocusableWindowTest/NoEventsTest.java 8000171 windows-all
java/awt/Frame/MiscUndecorated/RepaintTest.java 8079267 windows-all,linux-all
java/awt/Robot/ModifierRobotKey/ModifierRobotKeyTest.java 8157173 generic-all
java/awt/Modal/FileDialog/FileDialogAppModal1Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogAppModal2Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogAppModal3Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogAppModal4Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogAppModal5Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogAppModal6Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal1Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal2Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal3Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal4Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal5Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal6Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogDocModal7Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal1Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal2Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal3Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal4Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal5Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogModal6Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogNonModal1Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogNonModal2Test.java 7186009 macosx-all,linux-all
java/awt/Modal/FileDialog/FileDialogNonModal3Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogNonModal4Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogNonModal5Test.java 7186009 macosx-all
java/awt/Modal/FileDialog/FileDialogNonModal6Test.java 7186009 macosx-all,linux-all
java/awt/Modal/FileDialog/FileDialogNonModal7Test.java 7186009 macosx-all,linux-all
java/awt/Modal/FileDialog/FileDialogTKModal1Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal2Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal3Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal4Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal5Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal6Test.java 8196430 generic-all
java/awt/Modal/FileDialog/FileDialogTKModal7Test.java 8196430 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDAppModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDDocModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDModelessTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDNonModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDSetModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDDToolkitModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFAppModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFSetModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFToolkitModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFWModeless1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFWModeless2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDFWNonModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingDocModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDModelessTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDNonModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWDocModal4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWModeless1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWModeless2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWModeless3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWModeless4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingFDWNonModal4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal5Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsAppModal6Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsDocModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal5Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsSetModal6Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal1Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal2Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal3Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal4Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal5Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/BlockingWindowsToolkitModal6Test.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogAppModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogDocModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogModelessTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogNonModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogSetModalTest.java 8198665 macosx-all
java/awt/Modal/ModalBlockingTests/UnblockedDialogToolkitModalTest.java 8198665 macosx-all
java/awt/Modal/ModalDialogOrderingTest/ModalDialogOrderingTest.java 8066259 macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeFrameFileTest.java 8047179 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogFileTest.java 8047179 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPageSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeDialogPrintSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePageSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ApplicationExcludeFramePrintSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeFrameFileTest.java 8047179 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogFileTest.java 8047179 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPageSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeDialogPrintSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePageSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalExclusionTests/ToolkitExcludeFramePrintSetupTest.java 8196431 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFAppModal2Test.java 8058813 windows-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFModeless2Test.java 8196191 windows-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFDocModalTest.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFModelessTest.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDWFNonModalTest.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsModelessTest.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsNonModalTest.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWDocModalTest.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWModelessTest.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFDWNonModalTest.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal1Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal2Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal3Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDAppModal4Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal1Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal2Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal3Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDDocModal4Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless1Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless2Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless3Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDModeless4Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal1Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal2Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal3Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferFWDNonModal4Test.java 8196432 linux-all,macosx-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFDocModal2Test.java 8196432 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferWDFNonModal2Test.java 8196432 linux-all
java/awt/Modal/ModalInternalFrameTest/ModalInternalFrameTest.java 8159599 generic-all
java/awt/Modal/MultipleDialogs/MultipleDialogs1Test.java 8198665 macosx-all
java/awt/Modal/MultipleDialogs/MultipleDialogs2Test.java 8198665 macosx-all
java/awt/Modal/MultipleDialogs/MultipleDialogs3Test.java 8198665 macosx-all
java/awt/Modal/MultipleDialogs/MultipleDialogs4Test.java 8198665 macosx-all
java/awt/Modal/MultipleDialogs/MultipleDialogs5Test.java 8198665 macosx-all
java/awt/Mouse/EnterExitEvents/DragWindowOutOfFrameTest.java 8177326 macosx-all
java/awt/Mouse/EnterExitEvents/DragWindowTest.java 8023562 macosx-all
java/awt/Mouse/EnterExitEvents/ResizingFrameTest.java 8005021 macosx-all
java/awt/Mouse/EnterExitEvents/FullscreenEnterEventTest.java 8051455 macosx-all
java/awt/Mouse/MouseModifiersUnitTest/ExtraButtonDrag.java 8013428 linux-all
java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersUnitTest_Standard.java 7124407 macosx-all
java/awt/Mouse/RemovedComponentMouseListener/RemovedComponentMouseListener.java 8157170 macosx-all
java/awt/Modal/ToFront/DialogToFrontModeless1Test.java 8213530 linux-all
java/awt/Modal/ToFront/DialogToFrontNonModalTest.java 8221899 linux-all
java/awt/Modal/ToBack/ToBackAppModal1Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackAppModal2Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackAppModal3Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackAppModal4Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackAppModal5Test.java 8196441 macosx-all
java/awt/Modal/ToBack/ToBackAppModal6Test.java 8196441 linux-all
java/awt/Modal/ToBack/ToBackModal1Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackModal2Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackModal3Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackModal4Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackTKModal1Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackTKModal2Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackTKModal3Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackTKModal4Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackTKModal5Test.java 8196441 macosx-all
java/awt/Modal/ToBack/ToBackDocModal1Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackDocModal2Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackDocModal3Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackDocModal4Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackDocModal5Test.java 8196441 linux-all,macosx-all
java/awt/Modal/ToBack/ToBackModeless1Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackModeless2Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackModeless3Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackModeless4Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackModeless5Test.java 8196441 macosx-all
java/awt/Modal/ToBack/ToBackNonModal1Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackNonModal2Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackNonModal3Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackNonModal4Test.java 8196441 macosx-all,linux-all
java/awt/Modal/ToBack/ToBackNonModal5Test.java 8196441 macosx-all
java/awt/Modal/OnTop/OnTopAppModal1Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopAppModal2Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopAppModal3Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopAppModal4Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopAppModal5Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopAppModal6Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal1Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal2Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal3Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal4Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal5Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopDocModal6Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal1Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal2Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal3Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal4Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal5Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModal6Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless1Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless2Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless3Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless4Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless5Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopModeless6Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal1Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal2Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal3Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal4Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal5Test.java 8198666 macosx-all
java/awt/Modal/OnTop/OnTopTKModal6Test.java 8198666 macosx-all
java/awt/List/SingleModeDeselect/SingleModeDeselect.java 8196367 windows-all
java/awt/SplashScreen/MultiResolutionSplash/MultiResolutionSplashTest.java 8061235 macosx-all
javax/print/PrintSEUmlauts/PrintSEUmlauts.java 8135174 generic-all
java/awt/font/TextLayout/LigatureCaretTest.java 8197821 generic-all
java/awt/Graphics2D/DrawString/RotTransText.java 8197797 generic-all
java/awt/image/VolatileImage/CustomCompositeTest.java 8199002 windows-all,linux-all
java/awt/image/VolatileImage/GradientPaints.java 8199003 linux-all
java/awt/JAWT/JAWT.sh 8197798 windows-all,linux-all
java/awt/Debug/DumpOnKey/DumpOnKey.java 8202667 windows-all
java/awt/Robot/RobotWheelTest/RobotWheelTest.java 8129827 generic-all
java/awt/Focus/WindowUpdateFocusabilityTest/WindowUpdateFocusabilityTest.java 8202926 linux-all
java/awt/datatransfer/ConstructFlavoredObjectTest/ConstructFlavoredObjectTest.java 8202860 linux-all
java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java 8202790 macosx-all,linux-all
java/awt/dnd/DragInterceptorAppletTest/DragInterceptorAppletTest.java 8215538,8242175 windows-all,macosx-all,linux-all
java/awt/dnd/FileListBetweenJVMsTest/FileListBetweenJVMsTest.java 7188825 generic-all
java/awt/FileDialog/FilenameFilterTest/FilenameFilterTest.java 8202882 linux-all
java/awt/dnd/MissingDragExitEventTest/MissingDragExitEventTest.java 8030121 macosx-all,linux-all
java/awt/Choice/ChoicePopupLocation/ChoicePopupLocation.java 8202931 macosx-all,linux-all
java/awt/Focus/NonFocusableBlockedOwnerTest/NonFocusableBlockedOwnerTest.java 7124275 macosx-all
java/awt/Focus/TranserFocusToWindow/TranserFocusToWindow.java 6848810 macosx-all,linux-all
java/awt/Component/NativeInLightShow/NativeInLightShow.java 8202932 linux-all
java/awt/FileDialog/ModalFocus/FileDialogModalFocusTest.java 8194751 linux-all
java/awt/image/VolatileImage/BitmaskVolatileImage.java 8133102 linux-all
java/awt/SplashScreen/MultiResolutionSplash/unix/UnixMultiResolutionSplashTest.java 8203004 linux-all
java/awt/Robot/AcceptExtraMouseButtons/AcceptExtraMouseButtons.java 7107528 linux-all,macosx-all
java/awt/Mouse/MouseDragEvent/MouseDraggedTest.java 8080676 linux-all
java/awt/Mouse/MouseModifiersUnitTest/MouseModifiersInKeyEvent.java 8157147 linux-all,solaris-all,windows-all,macosx-all
java/awt/Mouse/TitleBarDoubleClick/TitleBarDoubleClick.java 8148041 linux-all
java/awt/Toolkit/DesktopProperties/rfe4758438.java 8193547 linux-all
java/awt/Toolkit/ToolkitPropertyTest/ToolkitPropertyTest_Enable.java 6847163
java/awt/xembed/server/RunTestXEmbed.java 7034201 linux-all
java/awt/Modal/ModalFocusTransferTests/FocusTransferDialogsDocModalTest.java 8164473 linux-all
java/awt/im/memoryleak/InputContextMemoryLeakTest.java 8023814 linux-all,solaris-all
# below test fails only on Win 7
java/awt/font/FontNames/LocaleFamilyNames.java 8213129 windows-all
java/awt/Frame/DisposeParentGC/DisposeParentGC.java 8079786 macosx-all
java/awt/FullScreen/NoResizeEventOnDMChangeTest/NoResizeEventOnDMChangeTest.java 8169468 macosx-all
java/awt/TextArea/AutoScrollOnSelectAndAppend/AutoScrollOnSelectAndAppend.java 8213120 macosx-all
java/awt/Window/MainKeyWindowTest/TestMainKeyWindow.java 8213126 macosx-all
java/awt/GraphicsDevice/DisplayModes/CycleDMImage.java 7099223 linux-all,solaris-all,windows-all,macosx-all
java/awt/Window/WindowResizing/DoubleClickTitleBarTest.java 8233557 macosx-all
java/awt/Window/WindowOwnedByEmbeddedFrameTest/WindowOwnedByEmbeddedFrameTest.java 8233558 macosx-all
java/awt/Mouse/MouseComboBoxTest/MouseComboBoxTest.java 8233564 macosx-all
java/awt/Modal/NullModalityDialogTest/NullModalityDialogTest.java 8233565 macosx-all
java/awt/KeyboardFocusmanager/TypeAhead/SubMenuShowTest/SubMenuShowTest.java 8233566 macosx-all
java/awt/KeyboardFocusmanager/TypeAhead/EnqueueWithDialogTest/EnqueueWithDialogTest.java 8233566 macosx-all
java/awt/FullScreen/8013581/bug8013581.java 8169471 macosx-all
java/awt/Focus/FocusSubRequestTest/FocusSubRequestTest.java 8233567 macosx-all
java/awt/event/MouseEvent/FrameMouseEventAbsoluteCoordsTest/FrameMouseEventAbsoluteCoordsTest.java 8238720 windows-all
java/awt/event/MouseEvent/RobotLWTest/RobotLWTest.java 8233568 macosx-all
java/awt/event/MouseEvent/MultipleMouseButtonsTest/MultipleMouseButtonsTest.java 8233568 macosx-all
java/awt/event/MouseEvent/ClickDuringKeypress/ClickDuringKeypress.java 8233568 macosx-all
java/awt/event/KeyEvent/DeadKey/DeadKeyMacOSXInputText.java 8233568 macosx-all
java/awt/event/KeyEvent/DeadKey/deadKeyMacOSX.java 8233568 macosx-all
com/apple/eawt/DefaultMenuBar/DefaultMenuBarTest.java 8233648 macosx-all
java/awt/Choice/ChoiceKeyEventReaction/ChoiceKeyEventReaction.java 7185258 macosx-all
############################################################################
# jdk_beans
java/beans/Introspector/8132566/OverridePropertyInfoTest.java 8132565 generic-all
java/beans/Introspector/8132566/OverrideUserDefPropertyInfoTest.java 8132565 generic-all
java/beans/XMLEncoder/Test6570354.java 8015593 macosx-all
############################################################################
# jdk_lang
java/lang/StringCoding/CheckEncodings.sh 7008363 generic-all
java/lang/ProcessHandle/InfoTest.java 8211847 aix-ppc64
java/lang/invoke/LFCaching/LFMultiThreadCachingTest.java 8151492 generic-all
############################################################################
# jdk_instrument
java/lang/instrument/RedefineBigClass.sh 8065756 generic-all
java/lang/instrument/RetransformBigClass.sh 8065756 generic-all
java/lang/management/MemoryMXBean/Pending.java 8158837 generic-all
java/lang/management/MemoryMXBean/PendingAllGC.sh 8158837 generic-all
java/lang/management/ThreadMXBean/ThreadMXBeanStateTest.java 8081652 generic-all
java/lang/management/ThreadMXBean/AllThreadIds.java 8131745 generic-all
javax/management/monitor/DerivedGaugeMonitorTest.java 8042211 generic-all
javax/management/remote/mandatory/connection/MultiThreadDeadLockTest.java 8042215 generic-all
############################################################################
# jdk_io
java/io/pathNames/GeneralWin32.java 8180264 windows-all
############################################################################
# jdk_management
com/sun/management/OperatingSystemMXBean/GetProcessCpuLoad.java 8030957 aix-all
com/sun/management/OperatingSystemMXBean/GetSystemCpuLoad.java 8030957 aix-all
############################################################################
# jdk_jmx
javax/management/MBeanServer/OldMBeanServerTest.java 8030957 aix-all
javax/management/remote/mandatory/notif/NotifReconnectDeadlockTest.java 8042215 generic-all
############################################################################
# jdk_net
java/net/MulticastSocket/NoLoopbackPackets.java 7122846 macosx-all
java/net/MulticastSocket/SetLoopbackMode.java 7122846 macosx-all
java/net/MulticastSocket/Test.java 7145658 macosx-all
java/net/MulticastSocket/SetGetNetworkInterfaceTest.java 8219083 windows-all
java/net/DatagramSocket/SendDatagramToBadAddress.java 7143960 macosx-all
java/net/ServerSocket/AcceptInheritHandle.java 8211854 aix-ppc64
java/net/httpclient/websocket/WebSocketProxyTest.java 8236859 generic-all
############################################################################
# jdk_nio
java/nio/Buffer/EqualsCompareTest.java 8193917 solaris-all
java/nio/channels/DatagramChannel/ChangingAddress.java 7141822 macosx-all
java/nio/channels/DatagramChannel/Unref.java 8233519 generic-all
java/nio/channels/AsynchronousSocketChannel/StressLoopback.java 8211851 aix-ppc64
java/nio/channels/Selector/Wakeup.java 6963118 windows-all
java/nio/file/WatchService/Basic.java 7158947 solaris-all Solaris 11
java/nio/file/WatchService/MayFlies.java 7158947 solaris-all Solaris 11
java/nio/file/WatchService/LotsOfEvents.java 7158947 solaris-all Solaris 11
############################################################################
# jdk_rmi
java/rmi/server/Unreferenced/finiteGCLatency/FiniteGCLatency.java 7140992 generic-all
java/rmi/transport/rapidExportUnexport/RapidExportUnexport.java 7146541 linux-all
java/rmi/transport/checkLeaseInfoLeak/CheckLeaseLeak.java 7191877 generic-all
java/rmi/activation/Activatable/extLoadedImpl/ext.sh 8062724 generic-all
java/rmi/activation/ActivationGroup/downloadActivationGroup/DownloadActivationGroup.java 8169569 windows-all
java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java 8170562 generic-all
java/rmi/registry/readTest/CodebaseTest.java 8173324 windows-all
############################################################################
# jdk_sctp
com/sun/nio/sctp/SctpMultiChannel/SendFailed.java 8141694 linux-all
com/sun/nio/sctp/SctpMultiChannel/SocketOptionTests.java 8141694 linux-all
com/sun/nio/sctp/SctpChannel/SocketOptionTests.java 8141694 linux-all
############################################################################
# jdk_security
sun/security/lib/cacerts/VerifyCACerts.java 8246385,8225130 generic-all
sun/security/pkcs11/ec/TestKeyFactory.java 8026976 generic-all
sun/security/pkcs11/sslecc/ClientJSSEServerJSSE.java 8161536 generic-all
sun/security/pkcs11/Secmod/AddTrustedCert.java 8232153 linux-all
sun/security/tools/keytool/ListKeychainStore.sh 8156889 macosx-all
sun/security/tools/keytool/KeyToolTest.java 8224644 solaris-all
sun/security/tools/keytool/WeakAlg.java 8224644 solaris-all
sun/security/tools/jarsigner/warnings/BadKeyUsageTest.java 8026393 generic-all
sun/security/tools/jarsigner/PreserveRawManifestEntryAndDigest.java 8228431 solaris-all
javax/net/ssl/ServerName/SSLEngineExplorerMatchedSNI.java 8212096 generic-all
javax/net/ssl/DTLS/PacketLossRetransmission.java 8169086 macosx-x64
javax/net/ssl/DTLS/RespondToRetransmit.java 8169086 macosx-x64
javax/net/ssl/DTLS/CipherSuite.java 8202059 macosx-x64
sun/security/provider/KeyStore/DKSTest.sh 8180266 windows-all
sun/security/pkcs11/KeyStore/SecretKeysBasic.sh 8209398 generic-all
security/infra/java/security/cert/CertPathValidator/certification/ActalisCA.java 8224768 generic-all
security/infra/java/security/cert/CertPathValidator/certification/BuypassCA.java 8243543 generic-all
sun/security/smartcardio/TestChannel.java 8039280 generic-all
sun/security/smartcardio/TestConnect.java 8039280 generic-all
sun/security/smartcardio/TestConnectAgain.java 8039280 generic-all
sun/security/smartcardio/TestControl.java 8039280 generic-all
sun/security/smartcardio/TestDefault.java 8039280 generic-all
sun/security/smartcardio/TestDirect.java 8039280 generic-all
sun/security/smartcardio/TestExclusive.java 8039280 generic-all
sun/security/smartcardio/TestMultiplePresent.java 8039280 generic-all
sun/security/smartcardio/TestPresent.java 8039280 generic-all
sun/security/smartcardio/TestTransmit.java 8039280 generic-all
com/sun/crypto/provider/Cipher/DES/PerformanceTest.java 8039280 generic-all
com/sun/security/auth/callback/TextCallbackHandler/Default.java 8039280 generic-all
com/sun/security/auth/callback/TextCallbackHandler/Password.java 8039280 generic-all
com/sun/security/sasl/gsskerb/AuthOnly.java 8039280 generic-all
com/sun/security/sasl/gsskerb/ConfSecurityLayer.java 8039280 generic-all
com/sun/security/sasl/gsskerb/NoSecurityLayer.java 8039280 generic-all
javax/security/auth/kerberos/KerberosHashEqualsTest.java 8039280 generic-all
javax/security/auth/kerberos/KerberosTixDateTest.java 8039280 generic-all
sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.java 8039280 generic-all
sun/security/provider/PolicyParser/ExtDirsChange.java 8039280 generic-all
sun/security/provider/PolicyParser/PrincipalExpansionError.java 8039280 generic-all
############################################################################
# jdk_sound
javax/sound/sampled/DirectAudio/bug6372428.java 8055097 generic-all
javax/sound/sampled/Clip/bug5070081.java 8055097 generic-all
javax/sound/sampled/DataLine/LongFramePosition.java 8055097 generic-all
javax/sound/sampled/Clip/Drain/ClipDrain.java 7062792 generic-all
javax/sound/sampled/Mixers/DisabledAssertionCrash.java 7067310 generic-all
javax/sound/midi/Sequencer/Recording.java 8167580 linux-all,solaris-all
javax/sound/midi/Sequencer/MetaCallback.java 8178698 linux-all,solaris-all
############################################################################
# jdk_imageio
############################################################################
# jdk_swing
com/sun/java/swing/plaf/windows/Test8173145.java 8198334 windows-all
javax/swing/plaf/basic/BasicTextUI/8001470/bug8001470.java 8233177 linux-all,windows-all
javax/swing/plaf/synth/7158712/bug7158712.java 8238720 windows-all
javax/swing/border/TestTitledBorderLeak.java 8213531 linux-all
javax/swing/JComponent/7154030/bug7154030.java 7190978 generic-all
javax/swing/JComboBox/ConsumedKeyTest/ConsumedKeyTest.java 8067986 generic-all
javax/swing/JComboBox/6236162/bug6236162.java 8028707 windows-all,macosx-all
javax/swing/JComboBox/8033069/bug8033069ScrollBar.java 8163367 generic-all
javax/swing/JComboBox/8041909/ActionListenerExceptionTest.java 8197552 windows-all
javax/swing/JComponent/6683775/bug6683775.java 8172337 generic-all
javax/swing/text/html/parser/Test8017492.java 8022535 generic-all
javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedTranslucentPerPixelTranslucentGradient.java 8233582 linux-all
javax/swing/JWindow/ShapedAndTranslucentWindows/ShapedPerPixelTranslucentGradient.java 8233582 linux-all
javax/swing/JWindow/ShapedAndTranslucentWindows/PerPixelTranslucentSwing.java 8194128 macosx-all
javax/swing/JWindow/ShapedAndTranslucentWindows/SetShapeAndClickSwing.java 8013450 macosx-all
javax/swing/JWindow/ShapedAndTranslucentWindows/TranslucentJComboBox.java 8024627 macosx-all
# The next test below is an intermittent failure
javax/swing/JColorChooser/Test6541987.java 8143021 windows-all,linux-all,macosx-all
javax/swing/JColorChooser/Test6827032.java 8224968 windows-all
javax/swing/JColorChooser/Test7194184.java 8194126 linux-all,macosx-all
javax/swing/JTable/7124218/SelectEditTableCell.java 8148958 linux-all,macosx-all
javax/swing/JTable/4235420/bug4235420.java 8079127 generic-all
javax/swing/JSplitPane/4201995/bug4201995.java 8079127 generic-all
javax/swing/JTree/DnD/LastNodeLowerHalfDrop.java 8159131 linux-all
javax/swing/JTree/4633594/JTreeFocusTest.java 8173125 macosx-all
javax/swing/JFileChooser/8041694/bug8041694.java 8196302 windows-all,macosx-all
javax/swing/AbstractButton/6711682/bug6711682.java 8060765 windows-all,macosx-all
javax/swing/Action/8133039/bug8133039.java 8196089 windows-all,macosx-all
javax/swing/JComboBox/6559152/bug6559152.java 8196090 windows-all,macosx-all
javax/swing/JComboBox/8032878/bug8032878.java 8196092,8196439 windows-all,macosx-all,linux-all
javax/swing/JComboBox/8057893/bug8057893.java 8169953 windows-all,macosx-all
javax/swing/JComboBox/8072767/bug8072767.java 8196093 windows-all,macosx-all
javax/swing/JComponent/4337267/bug4337267.java 8146451 windows-all
javax/swing/JFileChooser/4524490/bug4524490.java 8042380 generic-all
javax/swing/JFileChooser/8002077/bug8002077.java 8196094 windows-all,macosx-all
javax/swing/JFileChooser/DeserializedJFileChooser/DeserializedJFileChooserTest.java 8196095 generic-all
javax/swing/JFileChooser/6396844/TwentyThousandTest.java 8198003 generic-all
javax/swing/JFrame/8175301/ScaledFrameBackgroundTest.java 8193942 generic-all
javax/swing/JList/6462008/bug6462008.java 7156347 generic-all
javax/swing/JTabbedPane/8007563/Test8007563.java 8051591 generic-all
javax/swing/JTabbedPane/7024235/Test7024235.java 8028281 macosx-all
javax/swing/SwingUtilities/TestBadBreak/TestBadBreak.java 8160720 generic-all
javax/swing/plaf/basic/Test6984643.java 8198340 windows-all
javax/swing/text/CSSBorder/6796710/bug6796710.java 8196099 windows-all
javax/swing/text/DefaultCaret/HidingSelection/HidingSelectionTest.java 8194048 windows-all
javax/swing/text/DefaultCaret/HidingSelection/MultiSelectionTest.java 8213562 linux-all
javax/swing/text/JTextComponent/5074573/bug5074573.java 8196100 windows-all
javax/swing/JFileChooser/6798062/bug6798062.java 8146446 windows-all
javax/swing/JComboBox/8182031/ComboPopupTest.java 8196465 linux-all,macosx-all
javax/swing/JFileChooser/6738668/bug6738668.java 8194946 generic-all
javax/swing/JFileChooser/8021253/bug8021253.java 8169954 windows-all,linux-all,macosx-all
javax/swing/JFileChooser/8062561/bug8062561.java 8196466 linux-all,macosx-all
javax/swing/JInternalFrame/Test6325652.java 8224977 macosx-all
javax/swing/JLabel/6596966/bug6596966.java 8040914,8197552 macosx-all,windows-all
javax/swing/JPopupMenu/4870644/bug4870644.java 8194130 macosx-all,linux-all
javax/swing/JPopupMenu/4966112/bug4966112.java 8064915 macosx-all
javax/swing/MultiUIDefaults/Test6860438.java 8198391 generic-all
javax/swing/MultiUIDefaults/4300666/bug4300666.java 7105119 macosx-all
javax/swing/UITest/UITest.java 8198392 generic-all
javax/swing/plaf/basic/BasicComboBoxEditor/Test8015336.java 8198394 generic-all
javax/swing/plaf/basic/BasicComboPopup/7072653/bug7072653.java 8238720 windows-all
javax/swing/plaf/basic/BasicComboPopup/JComboBoxPopupLocation/JComboBoxPopupLocation.java 8238720 windows-all
javax/swing/plaf/metal/MetalLookAndFeel/Test8039750.java 8198395 generic-all
javax/swing/text/DevanagariEditor.java 8198397 generic-all
javax/swing/SpringLayout/4726194/bug4726194.java 8198399 generic-all
javax/swing/SwingUtilities/6797139/bug6797139.java 8198400 generic-all
javax/swing/text/html/parser/Parser/6836089/bug6836089.java 8198401 generic-all
javax/swing/JTable/8133919/DrawGridLinesTest.java 8198407 generic-all
javax/swing/text/html/StyleSheet/BackgroundImage/BackgroundImagePosition.java 8198409 generic-all
javax/swing/text/AbstractDocument/DocumentInsert/DocumentInsertAtWrongPositionTest.java 8198396 generic-all
javax/swing/JFileChooser/6868611/bug6868611.java 7059834 windows-all
javax/swing/SwingWorker/6493680/bug6493680.java 8198410 windows-all
javax/swing/PopupFactory/6276087/NonOpaquePopupMenuTest.java 8065099 macosx-all
javax/swing/DataTransfer/8059739/bug8059739.java 8199074 generic-all
javax/swing/JCheckBox/8032667/bug8032667_image_diff.java 8199063 macosx-all
javax/swing/JComboBox/7031551/bug7031551.java 8199056 generic-all
javax/swing/JScrollBar/6924059/bug6924059.java 8199078 generic-all
javax/swing/JTree/8003830/bug8003830.java 8199057 generic-all
javax/swing/plaf/nimbus/ColorCustomizationTest.java 8199080 generic-all
javax/swing/SwingWorker/6432565/bug6432565.java 8199077 generic-all
javax/swing/SwingWorker/6880336/NestedWorkers.java 8199049 windows-all
javax/swing/text/DefaultCaret/6938583/bug6938583.java 8199058 generic-all
javax/swing/text/html/parser/Parser/6990651/bug6990651.java 8199060 generic-all
javax/swing/text/html/parser/Parser/HtmlCommentTagParseTest/HtmlCommentTagParseTest.java 8199073 generic-all
javax/swing/text/StyledEditorKit/8016833/bug8016833.java 8199055 generic-all
javax/swing/text/Utilities/8134721/bug8134721.java 8199062 generic-all
javax/swing/tree/DefaultTreeCellRenderer/7142955/bug7142955.java 8199076 generic-all
javax/swing/UIDefaults/6302464/bug6302464.java 8199079 generic-all
javax/swing/UIDefaults/8133926/InternalFrameIcon.java 8199075 generic-all
javax/swing/UIDefaults/8149879/InternalResourceBundle.java 8199054 windows-all
javax/swing/text/html/parser/Parser/8078268/bug8078268.java 8199092 generic-all
javax/swing/PopupFactory/8048506/bug8048506.java 8202660 windows-all
javax/swing/JTextArea/TextViewOOM/TextViewOOM.java 8167355 generic-all
javax/swing/text/Utilities/8142966/SwingFontMetricsTest.java 8199529 windows-all
javax/swing/JPopupMenu/8075063/ContextMenuScrollTest.java 202880 linux-all
javax/swing/dnd/8139050/NativeErrorsInTableDnD.java 8202765 macosx-all,linux-all
javax/swing/Popup/TaskbarPositionTest.java 8065097 macosx-all,linux-all
javax/swing/JButton/4368790/bug4368790.java 8213123 macosx-all
javax/swing/JButton/8151303/PressedIconTest.java 8167352 macosx-all
javax/swing/JButton/PressedButtonRightClickTest.java 8203906 windows-all
javax/swing/JEditorPane/6917744/bug6917744.java 8213124 macosx-all
javax/swing/JTable/6263446/bug6263446.java 8169959,8238720 macosx-all,windows-all
javax/swing/JTree/6263446/bug6263446.java 8213125 macosx-all
javax/swing/JTree/8003400/Test8003400.java 8197560 macosx-all,linux-all,windows-all
javax/swing/JRadioButton/FocusTraversal/FocusTraversal.java 8221902 linux-all,macosx-all
javax/swing/text/View/8014863/bug8014863.java 8233561 macosx-all
javax/swing/text/StyledEditorKit/4506788/bug4506788.java 8233561 macosx-all
javax/swing/text/JTextComponent/6361367/bug6361367.java 8233569 macosx-all
javax/swing/text/html/HTMLEditorKit/5043626/bug5043626.java 233570 macosx-all
javax/swing/text/GlyphPainter2/6427244/bug6427244.java 8208566 macosx-all
javax/swing/JMenu/4213634/bug4213634.java 8197552 windows-all
javax/swing/JMenu/4692443/bug4692443.java 8171998,8197552 macosx-all,windows-all
javax/swing/JMenu/4515762/bug4515762.java 8233643,8197552 macosx-all,windows-all
javax/swing/JMenu/6470128/bug6470128.java 8015598 macosx-all,windows-all
javax/swing/JMenu/6538132/6538132.java 8197552 windows-all
javax/swing/JMenuBar/4750590/bug4750590.java 8233642,8197552 macosx-all,windows-all
javax/swing/JMenuItem/4171437/bug4171437.java 8233641,8197552 macosx-all,windows-all
javax/swing/JMenuItem/6249972/bug6249972.java 8233640,8197552 macosx-all,windows-all
javax/swing/JMenuItem/8139169/ScreenMenuBarInputTwice.java 8233638 macosx-all
javax/swing/JMenuItem/ActionListenerCalledTwice/ActionListenerCalledTwiceTest.java 8233637 macosx-all
javax/swing/JPopupMenu/4458079/bug4458079.java 8233556 macosx-all
javax/swing/JPopupMenu/4634626/bug4634626.java 8233556 macosx-all
javax/swing/JPopupMenu/6415145/bug6415145.java 8197552 windows-all
javax/swing/JPopupMenu/6515446/bug6515446.java 8197552 windows-all
javax/swing/JPopupMenu/6544309/bug6544309.java 8233556 macosx-all
javax/swing/JPopupMenu/6580930/bug6580930.java 7124313 macosx-all
javax/swing/JPopupMenu/6675802/bug6675802.java 8196097 windows-all
javax/swing/JPopupMenu/6800513/bug6800513.java 7184956 macosx-all
javax/swing/JPopupMenu/6827786/bug6827786.java 8233556 macosx-all
javax/swing/JRadioButton/8075609/bug8075609.java 8233555,8197552 macosx-all,windows-all
javax/swing/JRadioButton/8033699/bug8033699.java 8233555,8197552 macosx-all,windows-all
javax/swing/JRadioButton/ButtonGroupFocus/ButtonGroupFocusTest.java 8233555,8197552 macosx-all,windows-all
javax/swing/JRootPane/4670486/bug4670486.java 8042381,8197552 macosx-all,windows-all
javax/swing/JScrollPane/HorizontalMouseWheelOnShiftPressed/HorizontalMouseWheelOnShiftPressed.java 8197552 windows-all
javax/swing/JSlider/6348946/bug6348946.java 8197552 windows-all
javax/swing/JSpinner/4973721/bug4973721.java 8233553,8197552 macosx-all,windows-all
javax/swing/JTabbedPane/4624207/bug4624207.java 8064922,8197552 macosx-all,windows-all
javax/swing/JTable/7068740/bug7068740.java 8233552,8197552 macosx-all,windows-all
javax/swing/JTable/7124218/SelectEditTableCell.java 8233551 macosx-all
javax/swing/JTableHeader/6889007/bug6889007.java 8197552 windows-all
javax/swing/JTextField/8036819/bug8036819.java 8197552 windows-all
javax/swing/JTree/4927934/bug4927934.java 8233550,8197552 macosx-all,windows-all
javax/swing/JTree/4908142/bug4908142.java 8233550,8197552 macosx-all,windows-all
javax/swing/JTree/4330357/bug4330357.java 8233550 macosx-all
javax/swing/ProgressMonitor/ProgressMonitorEscapeKeyPress.java 8233635,8197552 macosx-all,windows-all
javax/swing/SwingUtilities/4917669/bug4917669.java 8197552 windows-all
javax/swing/SwingUtilities/7088744/bug7088744.java 8197552 windows-all
javax/swing/ToolTipManager/Test6256140.java 8233560,8197552 macosx-all,windows-all
javax/swing/JInternalFrame/8020708/bug8020708.java 8233644 macosx-all
javax/swing/JColorChooser/Test8051548.java 8233647,8197552 macosx-all,windows-all
sanity/client/SwingSet/src/GridBagLayoutDemoTest.java 8210302 linux-all
sanity/client/SwingSet/src/ToolTipDemoTest.java 8225012 windows-all,macosx-all
sanity/client/SwingSet/src/ScrollPaneDemoTest.java 8225013 linux-all
############################################################################
# jdk_text
############################################################################
# jdk_time
############################################################################
# core_tools
tools/jlink/JLinkReproducibleTest.java 8217166 windows-all
############################################################################
# jdk_jdi
com/sun/jdi/RepStep.java 8043571 generic-all
com/sun/jdi/NashornPopFrameTest.java 8225620 generic-all
com/sun/jdi/JdwpListenTest.java 8234935,8241530 windows-all,macosx-all
com/sun/jdi/JdwpAttachTest.java 8234935,8241530 windows-all,macosx-all
############################################################################
# jdk_time
############################################################################
# jdk_util
############################################################################
# jdk_instrument
############################################################################
# svc_tools
sun/tools/jhsdb/BasicLauncherTest.java 8193639,8211767 solaris-all,linux-ppc64,linux-ppc64le
sun/tools/jhsdb/HeapDumpTest.java 8193639 solaris-all
sun/tools/jhsdb/HeapDumpTestWithActiveProcess.java 8231634,8230731,8001227 generic-all,windows-all
############################################################################
# jdk_other
com/sun/jndi/ldap/DeadSSLLdapTimeoutTest.java 8169942 linux-i586,macosx-all,windows-x64
com/sun/jndi/dns/ConfigTests/PortUnreachable.java 7164518 macosx-all
javax/rmi/ssl/SSLSocketParametersTest.sh 8162906 generic-all
############################################################################
# jdk_jfr
jdk/jfr/event/io/TestInstrumentation.java 8202142 generic-all
jdk/jfr/api/recording/event/TestPeriod.java 8215890 generic-all
jdk/jfr/event/io/EvilInstrument.java 8221331 generic-all
jdk/jfr/event/runtime/TestNetworkUtilizationEvent.java 8228990,8229370 generic-all
jdk/jfr/event/compiler/TestCodeSweeper.java 8225209 generic-all
jdk/jfr/api/consumer/recordingstream/TestSetStartTime.java 8233217 generic-all
jdk/jfr/api/consumer/streaming/TestJVMCrash.java 8235599 windows-all
jdk/jfr/jmx/security/TestEnoughPermission.java 8235946 generic-all
############################################################################
# jdk_internal
############################################################################
# no printer found
java/awt/print/PrinterJob/ExceptionTest.java generic-all
java/awt/print/PrinterJob/ImagePrinting/NullClipARGB.java generic-all
java/awt/print/PrinterJob/PrtException.java generic-all
javax/print/CheckDupFlavor.java generic-all
javax/print/PrintServiceLookup/CountPrintServices.java generic-all
javax/print/attribute/AttributeTest.java generic-all
javax/print/attribute/GetCopiesSupported.java generic-all
javax/print/attribute/SidesPageRangesTest.java generic-all
javax/print/attribute/SupportedPrintableAreas.java generic-all
demo/jfc/J2Ddemo/J2DdemoTest.java 8213118 generic-all

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2018, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -68,11 +68,25 @@ public class TestShutdownEvent {
public static void main(String[] args) throws Throwable {
for (int i = 0; i < subTests.length; ++i) {
if (subTests[i].isApplicable()) {
runSubtest(i);
} else {
int attempts = subTests[i].attempts();
if (attempts == 0) {
System.out.println("Skipping non-applicable test: " + i);
}
for (int j = 0; j < attempts -1; j++) {
try {
runSubtest(i);
return;
} catch (Exception e) {
System.out.println("Failed: " + e.getMessage());
System.out.println();
System.out.println("Retry " + i + 1);
} catch (OutOfMemoryError | StackOverflowError e) {
System.out.println("Error");
// Can happen when parsing corrupt file. Abort test.
return;
}
}
runSubtest(i);
}
}
@@ -115,8 +129,8 @@ public class TestShutdownEvent {
}
private interface ShutdownEventSubTest {
default boolean isApplicable() {
return true;
default int attempts() {
return 1;
}
void runTest();
void verifyEvents(RecordedEvent event, int exitCode);
@@ -174,6 +188,11 @@ public class TestShutdownEvent {
// see 8219082 for details (running the crashed VM with -Xint would solve the issue too)
//validateStackTrace(event.getStackTrace());
}
@Override
public int attempts() {
return 3;
}
}
private static class TestUnhandledException implements ShutdownEventSubTest {
@@ -207,14 +226,14 @@ public class TestShutdownEvent {
private final String signalName;
@Override
public boolean isApplicable() {
public int attempts() {
if (Platform.isWindows()) {
return false;
return 0;
}
if (signalName.equals("HUP") && Platform.isSolaris()) {
return false;
return 0;
}
return true;
return 1;
}
public TestSig(String signalName) {

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2003, 2016, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -30,7 +30,7 @@
* clip shape. This was a problem with our GDI renderer on Windows, where
* we would ignore the window insets.
* @run main InsetClipping
*/
*/
/**
* This test works by setting up a clip area that equals the visible area
@@ -43,10 +43,15 @@
* test fails.
*/
import java.awt.*;
import java.awt.geom.*;
import java.awt.image.*;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Insets;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.geom.Area;
import java.awt.image.BufferedImage;
public class InsetClipping extends Frame {
BufferedImage image;
@@ -79,6 +84,7 @@ public class InsetClipping extends Frame {
public static void main(String args[]) {
InsetClipping clipTest = new InsetClipping();
clipTest.setSize(300, 300);
clipTest.setLocationRelativeTo(null);
clipTest.setVisible(true);
while (!painted) {
try {
@@ -102,12 +108,12 @@ public class InsetClipping extends Frame {
try {
Thread.sleep(2000);
} catch (Exception e) {}
int pixelVal = clientPixels.getRGB(0, 0);
int pixelVal = clientPixels.getRGB(2, 2);
clipTest.dispose();
if ((new Color(pixelVal)).equals(fillColor)) {
System.out.println("Passed");
} else {
throw new Error("Failed: incorrect color in pixel (0, 0)");
throw new Error("Failed: incorrect color in pixel (2, 2)");
}
} catch (Exception e) {
System.out.println("Problems creating Robot");