From 2b38340ad7a865a0ff0d91e89fcbb283cc34babd Mon Sep 17 00:00:00 2001 From: Dora Zhou Date: Thu, 15 Nov 2018 21:53:30 -0800 Subject: [PATCH] 8210408: Refactor java.util.ResourceBundle:i18n shell tests to plain java tests Reviewed-by: naoto --- .../{ => Bug6299235}/Bug6299235Test.java | 15 +- .../sun/awt/resources/awt_ru_RU.java | 38 ++ .../util/ResourceBundle/Bug6299235Test.sh | 80 ----- test/jdk/java/util/ResourceBundle/awtres.jar | Bin 576 -> 0 bytes .../modules/ModuleTestUtil.java | 187 ++++++++++ .../modules/appbasic/appbasic.sh | 68 ---- .../modules/appbasic2/appbasic2.sh | 68 ---- .../modules/basic/BasicTest.java | 206 +++++++++++ .../ResourceBundle/modules/basic/basic.sh | 89 ----- .../test/resources/asia/MyResourcesAsia.java | 0 .../resources/asia/MyResources_ja.properties | 0 .../resources/asia/MyResources_zh.properties | 0 .../asia/MyResources_zh_TW.properties | 0 .../srcAppbasic}/asiabundles/module-info.java | 0 .../jdk/test/resources/eu/MyResourcesEU.java | 0 .../jdk/test/resources/eu/MyResources_de.java | 0 .../jdk/test/resources/eu/MyResources_fr.java | 0 .../srcAppbasic}/eubundles/module-info.java | 0 .../srcAppbasic}/test/jdk/test/Main.java | 0 .../test/jdk/test/resources/MyResources.java | 0 .../resources/MyResourcesProviderImpl.java | 0 .../jdk/test/resources/MyResources_en.java | 0 .../resources/spi/MyResourcesProvider.java | 0 .../srcAppbasic}/test/module-info.java | 0 .../test/resources/asia/MyResourcesAsia.java | 0 .../resources/asia/MyResources_ja.properties | 0 .../resources/asia/MyResources_zh.properties | 0 .../asia/MyResources_zh_TW.properties | 0 .../asiabundles/module-info.java | 0 .../jdk/test/resources/eu/MyResourcesEU.java | 0 .../jdk/test/resources/eu/MyResources_de.java | 0 .../jdk/test/resources/eu/MyResources_fr.java | 0 .../srcAppbasic2}/eubundles/module-info.java | 0 .../srcAppbasic2}/test/jdk/test/Main.java | 0 .../test/jdk/test/resources/MyResources.java | 0 .../resources/MyResourcesProviderImpl.java | 0 .../jdk/test/resources/MyResources_en.java | 0 .../resources/spi/MyResourcesProvider.java | 0 .../srcAppbasic2}/test/module-info.java | 0 .../test/resources/asia/MyResourcesAsia.java | 0 .../resources/asia/MyResources_ja.properties | 0 .../asia/MyResources_ja_JP.properties | 0 .../resources/asia/MyResources_zh.properties | 0 .../asia/MyResources_zh_TW.properties | 0 .../asiabundles/module-info.java | 0 .../jdk/test/resources/eu/MyResourcesEU.java | 0 .../jdk/test/resources/eu/MyResources_de.java | 0 .../jdk/test/resources/eu/MyResources_fr.java | 0 .../eubundles/module-info.java | 0 .../resources/asia/MyResources_vi.properties | 0 .../jdk/test/resources/eu/MyResources_es.java | 0 .../jdk/test/resources/MyResources.java | 0 .../jdk/test/resources/MyResourcesMain.java | 0 .../jdk/test/resources/MyResources_en.java | 0 .../resources/spi/MyResourcesProvider.java | 0 .../mainbundles/module-info.java | 0 .../{src => srcBasic}/test/jdk/test/Main.java | 0 .../{src => srcBasic}/test/module-info.java | 0 .../test/resources/MyResources_vi.properties | 0 .../srcModlocal}/test/jdk/test/Main.java | 0 .../test/jdk/test/resources/MyResources.java | 0 .../jdk/test/resources/MyResources_de.java | 0 .../jdk/test/resources/MyResources_en.java | 0 .../jdk/test/resources/MyResources_fr.java | 0 .../test/resources/MyResources_ja.properties | 0 .../test/resources/MyResources_zh.properties | 0 .../resources/MyResources_zh_TW.properties | 0 .../srcModlocal}/test/module-info.java | 0 .../jdk/test/resources/MyResources.java | 0 .../jdk/test/resources/MyResources_de.java | 0 .../jdk/test/resources/MyResources_en.java | 0 .../jdk/test/resources/MyResources_fr.java | 0 .../test/resources/MyResources_ja.properties | 0 .../test/resources/MyResources_zh.properties | 0 .../resources/MyResources_zh_TW.properties | 0 .../resources/spi/MyResourcesProvider.java | 0 .../srcSimple}/bundles/module-info.java | 0 .../srcSimple}/test/jdk/test/Main.java | 0 .../srcSimple}/test/module-info.java | 0 .../jdk/test/resources/MyResources.xml | 0 .../jdk/test/resources/MyResources_de.xml | 0 .../jdk/test/resources/MyResources_en.xml | 0 .../jdk/test/resources/MyResources_fr.xml | 0 .../jdk/test/resources/MyResources_ja.xml | 0 .../jdk/test/resources/MyResources_zh.xml | 0 .../jdk/test/resources/MyResources_zh_TW.xml | 0 .../resources/spi/MyResourcesProvider.java | 0 .../srcXml}/bundles/module-info.java | 0 .../srcXml}/test/jdk/test/Main.java | 0 .../srcXml}/test/module-info.java | 0 .../modules/layer/LayerTest.java | 87 +++++ .../util/ResourceBundle/modules/layer/run.sh | 52 --- .../modules/layer/src/Main.java | 2 +- .../modules/modlocal/modlocal.sh | 78 ---- .../ResourceBundle/modules/simple/simple.sh | 70 ---- .../modules/unnamed/UnNamedTest.java | 113 ++++++ .../ResourceBundle/modules/unnamed/unnamed.sh | 74 ---- .../modules/visibility/VisibilityTest.java | 336 ++++++++++++++++++ .../modules/visibility/visibility.sh | 233 ------------ .../modules/xmlformat/xmlformat.sh | 68 ---- 100 files changed, 981 insertions(+), 883 deletions(-) rename test/jdk/java/util/ResourceBundle/{ => Bug6299235}/Bug6299235Test.java (84%) create mode 100644 test/jdk/java/util/ResourceBundle/Bug6299235/patches/java.desktop/sun/awt/resources/awt_ru_RU.java delete mode 100644 test/jdk/java/util/ResourceBundle/Bug6299235Test.sh delete mode 100644 test/jdk/java/util/ResourceBundle/awtres.jar create mode 100644 test/jdk/java/util/ResourceBundle/modules/ModuleTestUtil.java delete mode 100644 test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh delete mode 100644 test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh create mode 100644 test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java delete mode 100644 test/jdk/java/util/ResourceBundle/modules/basic/basic.sh rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/asiabundles/jdk/test/resources/asia/MyResources_ja.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/asiabundles/jdk/test/resources/asia/MyResources_zh.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/asiabundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/eubundles/jdk/test/resources/eu/MyResourcesEU.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/eubundles/jdk/test/resources/eu/MyResources_de.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/eubundles/jdk/test/resources/eu/MyResources_fr.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/eubundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/jdk/test/resources/MyResources.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/jdk/test/resources/MyResourcesProviderImpl.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/jdk/test/resources/MyResources_en.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/jdk/test/resources/spi/MyResourcesProvider.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic/src => basic/srcAppbasic}/test/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/asiabundles/jdk/test/resources/asia/MyResources_ja.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/asiabundles/jdk/test/resources/asia/MyResources_zh.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/asiabundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/eubundles/jdk/test/resources/eu/MyResourcesEU.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/eubundles/jdk/test/resources/eu/MyResources_de.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/eubundles/jdk/test/resources/eu/MyResources_fr.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/eubundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/jdk/test/resources/MyResources.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/jdk/test/resources/MyResourcesProviderImpl.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/jdk/test/resources/MyResources_en.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/jdk/test/resources/spi/MyResourcesProvider.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{appbasic2/src => basic/srcAppbasic2}/test/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/jdk/test/resources/asia/MyResources_ja.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/jdk/test/resources/asia/MyResources_zh.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/asiabundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/eubundles/jdk/test/resources/eu/MyResourcesEU.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/eubundles/jdk/test/resources/eu/MyResources_de.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/eubundles/jdk/test/resources/eu/MyResources_fr.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/eubundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/extra/jdk/test/resources/asia/MyResources_vi.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/extra/jdk/test/resources/eu/MyResources_es.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/mainbundles/jdk/test/resources/MyResources.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/mainbundles/jdk/test/resources/MyResourcesMain.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/mainbundles/jdk/test/resources/MyResources_en.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/mainbundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/basic/{src => srcBasic}/test/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/extra/jdk/test/resources/MyResources_vi.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_de.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_en.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_fr.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_ja.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_zh.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/jdk/test/resources/MyResources_zh_TW.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{modlocal/src => basic/srcModlocal}/test/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_de.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_en.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_fr.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_ja.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_zh.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/MyResources_zh_TW.properties (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/jdk/test/resources/spi/MyResourcesProvider.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/bundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{simple/src => basic/srcSimple}/test/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_de.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_en.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_fr.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_ja.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_zh.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/MyResources_zh_TW.xml (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/jdk/test/resources/spi/MyResourcesProvider.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/bundles/module-info.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/test/jdk/test/Main.java (100%) rename test/jdk/java/util/ResourceBundle/modules/{xmlformat/src => basic/srcXml}/test/module-info.java (100%) create mode 100644 test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java delete mode 100644 test/jdk/java/util/ResourceBundle/modules/layer/run.sh delete mode 100644 test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh delete mode 100644 test/jdk/java/util/ResourceBundle/modules/simple/simple.sh create mode 100644 test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java delete mode 100644 test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh create mode 100644 test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java delete mode 100644 test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh delete mode 100644 test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh diff --git a/test/jdk/java/util/ResourceBundle/Bug6299235Test.java b/test/jdk/java/util/ResourceBundle/Bug6299235/Bug6299235Test.java similarity index 84% rename from test/jdk/java/util/ResourceBundle/Bug6299235Test.java rename to test/jdk/java/util/ResourceBundle/Bug6299235/Bug6299235Test.java index ed42ee3a7e7..529c902ed92 100644 --- a/test/jdk/java/util/ResourceBundle/Bug6299235Test.java +++ b/test/jdk/java/util/ResourceBundle/Bug6299235/Bug6299235Test.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2007, 2018, 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 @@ -21,6 +21,17 @@ * questions. */ +/* + * @test + * @bug 6299235 8210408 + * @summary test Bug 6299235 to make sure the third-party provided sun resources + * could be picked up. + * @modules java.desktop + * @library patches + * @build java.desktop/sun.awt.resources.awt_ru_RU + * @run main Bug6299235Test + */ + import java.awt.Toolkit; import java.util.Locale; @@ -35,7 +46,7 @@ import java.util.Locale; */ public class Bug6299235Test { - static final Locale ru_RU = new Locale("ru", "RU"); + private static final Locale ru_RU = new Locale("ru", "RU"); public static void main(String args[]) { Locale locale = Locale.getDefault(); diff --git a/test/jdk/java/util/ResourceBundle/Bug6299235/patches/java.desktop/sun/awt/resources/awt_ru_RU.java b/test/jdk/java/util/ResourceBundle/Bug6299235/patches/java.desktop/sun/awt/resources/awt_ru_RU.java new file mode 100644 index 00000000000..c32d7ef88c4 --- /dev/null +++ b/test/jdk/java/util/ResourceBundle/Bug6299235/patches/java.desktop/sun/awt/resources/awt_ru_RU.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2018, 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. + */ + +package sun.awt.resources; + +import java.util.ListResourceBundle; + +/** + * A faked sun.awt.resources.awt_ru_RU resource file. + */ +public class awt_ru_RU extends ListResourceBundle { + @Override + public Object[][] getContents() { + return new Object[][] { + { "foo", "bar" } + }; + } +} diff --git a/test/jdk/java/util/ResourceBundle/Bug6299235Test.sh b/test/jdk/java/util/ResourceBundle/Bug6299235Test.sh deleted file mode 100644 index 354093c4f4b..00000000000 --- a/test/jdk/java/util/ResourceBundle/Bug6299235Test.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/bin/sh -# Copyright (c) 2007, 2013, 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. -# -#!/bin/sh -# -# @test -# @bug 6299235 -# @summary test Bug 6299235 to make sure the third-party provided sun resources could be picked up. -# @modules java.desktop -# @build Bug6299235Test -# @run shell Bug6299235Test.sh - -# set platform-dependent variables -OS=`uname -s` -case "$OS" in - SunOS | Linux | Darwin | AIX ) - PATHSEP=":" - FILESEP="/" - ;; - Windows* | CYGWIN* ) - PATHSEP=";" - FILESEP="\\" - ;; - * ) - echo "${OS} is unrecognized system!" - exit 1; - ;; -esac - -if [ -z "${TESTSRC}" ]; then - echo "TESTSRC undefined: defaulting to ." - TESTSRC=. -fi - -if [ -z "${TESTJAVA}" ]; then - echo "TESTJAVA undefined: can't continue." - exit 1 -fi - -echo "TESTJAVA=${TESTJAVA}" -echo "TESTSRC=${TESTSRC}" -echo "TESTCLASSES=${TESTCLASSES}" - -PATCHDIR=${TESTCLASSES}/patches -rm -rf $PATCHDIR -mkdir -p $PATCHDIR/java.desktop - -cd ${PATCHDIR}/java.desktop -${TESTJAVA}/bin/jar xf ${TESTSRC}/awtres.jar - -echo -${TESTJAVA}/bin/java ${TESTVMOPTS} --patch-module java.desktop=${PATCHDIR}/java.desktop \ - -cp ${TESTCLASSES} Bug6299235Test - -if [ $? -ne 0 ] - then - echo "Test fails: exception thrown!" - exit 1 -fi - -exit 0 diff --git a/test/jdk/java/util/ResourceBundle/awtres.jar b/test/jdk/java/util/ResourceBundle/awtres.jar deleted file mode 100644 index 4315634a03c0945b4db7e4f77c12bc8f4d1ed05c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 576 zcmWIWW@Zs#-~ht5t}jLmNPv@pg~8V~#8KDN&rSc|DFy~+h5&DN4v-2asImZ@nni#r z;F^6M{XE@VgG2Ou-9G!CIql=Et9OytTUYDcne&^246YbIcv__A<*VcAd$DvC3+Id% zlE%L12y!{ zUiQ|}zo_k{drn{1%TJf> stream = Files.walk(src.resolve(mn)) + .filter(path -> path.toString().endsWith(resFormat))) { + stream.forEach(f -> { + String resName = f.toString(); + String relativePath = resName.substring(src.toString().length()); + Path destFile = Paths.get(dest.toString() + relativePath); + try { + Path destParentDir = destFile.getParent(); + if (Files.notExists(destParentDir)) { + Files.createDirectories(destParentDir); + } + Files.copy(f, destFile, REPLACE_EXISTING); + } catch (IOException e) { + throw new RuntimeException("Copy " + f.toString() + " to " + + destFile.toString() + " failed."); + } + }); + } catch (IOException e) { + throw new RuntimeException("Copy resource files failed."); + } + } + + /** + * Run the module test. + * + * @param mp module path + * @param mn module name + * @param localeList locale list + */ + public static void runModule(String mp, String mn, List localeList) + throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java"); + launcher.addToolArg("-p") + .addToolArg(mp) + .addToolArg("-m") + .addToolArg(mn); + localeList.forEach(launcher::addToolArg); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Execution of the test failed. " + + "Unexpected exit code: " + exitCode); + } + } + + /** + * Run the module test with a jar file specified by the classpath. + * + * @param cp classpath + * @param mp module path + * @param mn module name + * @param localeList locale list + * @param expected expected execution status + */ + public static void runModuleWithCp(String cp, String mp, String mn, + List localeList, boolean expected) throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java"); + launcher.addToolArg("-cp") + .addToolArg(cp) + .addToolArg("-p") + .addToolArg(mp) + .addToolArg("-m") + .addToolArg(mn); + localeList.forEach(launcher::addToolArg); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (expected) { + if (exitCode != 0) { + throw new RuntimeException("Execution of the test loads bundles " + + "from the jar file specified by the class-path failed. " + + "Unexpected exit code: " + exitCode); + } + } else { + if (exitCode == 0) { + throw new RuntimeException("Execution of the test not loads bundles " + + "from the jar file specified by the class-path failed. " + + "Unexpected exit code: " + exitCode); + } + } + } +} \ No newline at end of file diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh b/test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh deleted file mode 100644 index 634324be4e8..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/appbasic/appbasic.sh +++ /dev/null @@ -1,68 +0,0 @@ -# -# Copyright (c) 2015, 2016, 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. -# - -# @test -# @bug 8044767 -# @summary Basic test for ResourceBundle with modules; named module "test" -# contains resource bundles for root and en, and separate named modules -# "eubundles" and "asiabundles" contain other resource bundles. - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - - -for I in eu asia -do - B=${I}bundles - mkdir -p mods/$B - CLASSES="`find $TESTSRC/src/$B -name '*.java'`" - if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src -cp mods/test $CLASSES - fi - PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`" - if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done - fi -done - -mkdir -p mods/test -$JAVAC -g -d mods --module-source-path $TESTSRC/src `find $TESTSRC/src/test -name "*.java"` - -$JAVA -p mods -m test/jdk.test.Main de fr ja zh-tw en de - -exit $? diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh b/test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh deleted file mode 100644 index d6096833ebf..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/appbasic2/appbasic2.sh +++ /dev/null @@ -1,68 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @bug 8044767 -# @summary Basic test for ResourceBundle with modules; named module "test" -# contains resource bundles for root and en, and separate named modules -# "eubundles" and "asiabundles" contain other resource bundles. - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - - -for I in eu asia -do - B=${I}bundles - mkdir -p mods/$B - CLASSES="`find $TESTSRC/src/$B -name '*.java'`" - if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src -cp mods/test $CLASSES - fi - PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`" - if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done - fi -done - -mkdir -p mods/test -$JAVAC -g -d mods --module-source-path $TESTSRC/src `find $TESTSRC/src/test -name "*.java"` - -$JAVA -p mods -m test/jdk.test.Main de fr ja zh-tw en de - -exit $? diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java b/test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java new file mode 100644 index 00000000000..29c01a58092 --- /dev/null +++ b/test/jdk/java/util/ResourceBundle/modules/basic/BasicTest.java @@ -0,0 +1,206 @@ +/* + * Copyright (c) 2015, 2018, 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. + */ + +/* + * @test + * @bug 8044767 8139067 8210408 + * @summary Basic tests for ResourceBundle with modules: + * 1) Named module "test" contains resource bundles for root and en, + * and separate named modules "eubundles" and "asiabundles" contain + * other resource bundles. + * 2) ResourceBundle.getBundle caller is in named module "test", + * resource bundles are grouped in main (module "mainbundles"), + * EU (module "eubundles"), and Asia (module "asiabundles"). + * 3) ResourceBundle.getBundle caller is in named module "test" and all + * resource bundles are in single named module "bundles". + * 4) ResourceBundle.getBundle caller is in named module "test" and all + * resource bundles in xml format are in single named module "bundles". + * 5) Resource bundles in a local named module with no ResourceBundleProviders. + * @library /test/lib + * .. + * @build jdk.test.lib.JDKToolLauncher + * jdk.test.lib.Utils + * jdk.test.lib.compiler.CompilerUtils + * jdk.test.lib.process.ProcessTools + * ModuleTestUtil + * @run testng BasicTest + */ + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +import jdk.test.lib.JDKToolLauncher; +import jdk.test.lib.Utils; +import jdk.test.lib.compiler.CompilerUtils; +import jdk.test.lib.process.ProcessTools; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import static jdk.test.lib.Asserts.assertEquals; +import static org.testng.Assert.assertTrue; + +@Test +public class BasicTest { + private static final String SRC_DIR_APPBASIC = "srcAppbasic"; + private static final String SRC_DIR_APPBASIC2 = "srcAppbasic2"; + private static final String SRC_DIR_BASIC = "srcBasic"; + private static final String SRC_DIR_SIMPLE = "srcSimple"; + private static final String SRC_DIR_XML = "srcXml"; + private static final String SRC_DIR_MODLOCAL = "srcModlocal"; + + private static final String MODS_DIR_APPBASIC = "modsAppbasic"; + private static final String MODS_DIR_APPBASIC2 = "modsAppbasic2"; + private static final String MODS_DIR_BASIC = "modsBasic"; + private static final String MODS_DIR_SIMPLE = "modsSimple"; + private static final String MODS_DIR_XML = "modsXml"; + private static final String MODS_DIR_MODLOCAL = "modsModlocal"; + + private static final String EXTRA_JAR_BASIC = "extra_basic.jar"; + private static final String EXTRA_JAR_MODLOCAL = "extra_modlocal.jar"; + + private static final List LOCALE_LIST = List.of("de", "fr", "ja", + "zh-tw", "en", "de"); + private static final List LOCALE_LIST_BASIC = List.of("de", "fr", + "ja", "ja-jp", "zh-tw", "en", "de", "ja-jp"); + + private static final List MODULE_LIST = List.of("asiabundles", + "eubundles", "test"); + private static final List MODULE_LIST_BASIC = List.of("mainbundles", + "asiabundles", "eubundles", "test"); + private static final List MODULE_LIST_SIMPLE = List.of("bundles", "test"); + + private static final String MAIN = "test/jdk.test.Main"; + + @DataProvider(name = "basicTestData") + Object[][] basicTestData() { + return new Object[][] { + // Named module "test" contains resource bundles for root and en, + // and separate named modules "eubundles" and "asiabundles" + // contain other resource bundles. + {SRC_DIR_APPBASIC, MODS_DIR_APPBASIC, MODULE_LIST, LOCALE_LIST, + ".properties"}, + {SRC_DIR_APPBASIC2, MODS_DIR_APPBASIC2, MODULE_LIST, LOCALE_LIST, + ".properties"}, + + // Resource bundles are grouped in main (module "mainbundles"), + // EU (module "eubundles"), and Asia (module "asiabundles"). + {SRC_DIR_BASIC, MODS_DIR_BASIC, MODULE_LIST_BASIC, LOCALE_LIST_BASIC, + ".properties"}, + + // All resource bundles are in single named module "bundles". + {SRC_DIR_SIMPLE, MODS_DIR_SIMPLE, MODULE_LIST_SIMPLE, LOCALE_LIST, + ".properties"}, + + // All resource bundles in xml format are in single named + // module "bundles". + {SRC_DIR_XML, MODS_DIR_XML, MODULE_LIST_SIMPLE, LOCALE_LIST, ".xml"}, + + // Resource bundles local in named module "test". + {SRC_DIR_MODLOCAL, MODS_DIR_MODLOCAL, List.of("test"), LOCALE_LIST, + ".properties"}, + }; + } + + @Test(dataProvider = "basicTestData") + public void runBasicTest(String src, String mod, List moduleList, + List localeList, String resFormat) throws Throwable { + Path srcPath = Paths.get(Utils.TEST_SRC, src); + Path modPath = Paths.get(Utils.TEST_CLASSES, mod); + moduleList.forEach(mn -> ModuleTestUtil.prepareModule(srcPath, modPath, + mn, resFormat)); + ModuleTestUtil.runModule(modPath.toString(), MAIN, localeList); + } + + @Test + public void RunBasicTestWithCp() throws Throwable { + Path jarPath = Paths.get(Utils.TEST_CLASSES, EXTRA_JAR_BASIC); + Path srcPath = Paths.get(Utils.TEST_SRC, SRC_DIR_BASIC); + Path modPath = Paths.get(Utils.TEST_CLASSES, MODS_DIR_BASIC); + Path classPath = Paths.get(Utils.TEST_CLASSES).resolve("classes") + .resolve("basic"); + + jarBasic(srcPath, classPath, jarPath); + // jdk.test.Main should NOT load bundles from the jar file specified + // by the class-path. + ModuleTestUtil.runModuleWithCp(jarPath.toString(), modPath.toString(), + MAIN, List.of("es", "vi"), false); + } + + @Test + public void runModLocalTestWithCp() throws Throwable { + Path jarPath = Paths.get(Utils.TEST_CLASSES, EXTRA_JAR_MODLOCAL); + Path srcPath = Paths.get(Utils.TEST_SRC, SRC_DIR_MODLOCAL); + Path modPath = Paths.get(Utils.TEST_CLASSES, MODS_DIR_MODLOCAL); + + jarModLocal(srcPath, jarPath); + // jdk.test.Main should load bundles from the jar file specified by + // the class-path. + ModuleTestUtil.runModuleWithCp(jarPath.toString(), modPath.toString(), + MAIN, List.of("vi"), true); + } + + /** + * Create extra_basic.jar to be added to the class path. It contains .class + * and .properties resource bundles. + */ + private static void jarBasic(Path srcPath, Path classPath, Path jarPath) + throws Throwable { + boolean compiled = CompilerUtils.compile(srcPath.resolve("extra"), + classPath); + assertTrue(compiled, "Compile Java files for extra_basic.jar failed."); + + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jar"); + launcher.addToolArg("-cf") + .addToolArg(jarPath.toString()) + .addToolArg("-C") + .addToolArg(classPath.toString()) + .addToolArg("jdk/test/resources/eu") + .addToolArg("-C") + .addToolArg(srcPath.resolve("extra").toString()) + .addToolArg("jdk/test/resources/asia"); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + assertEquals(exitCode, 0, "Create extra_basic.jar failed. " + + "Unexpected exit code: " + exitCode); + } + + /** + * Create extra_modlocal.jar to be added to the class path. Expected + * properties files are picked up from the class path. + */ + private static void jarModLocal(Path srcPath, Path jarPath) throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("jar"); + launcher.addToolArg("-cf") + .addToolArg(jarPath.toString()) + .addToolArg("-C") + .addToolArg(srcPath.resolve("extra").toString()) + .addToolArg("jdk/test/resources"); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + assertEquals(exitCode, 0, "Create extra_modlocal.jar failed. " + + "Unexpected exit code: " + exitCode); + } +} \ No newline at end of file diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/basic.sh b/test/jdk/java/util/ResourceBundle/modules/basic/basic.sh deleted file mode 100644 index 95f0c5bd0ad..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/basic/basic.sh +++ /dev/null @@ -1,89 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @bug 8044767 8139067 -# @summary Basic test case for ResourceBundle with modules; -# ResourceBundle.getBundle caller is in module named "test", -# resource bundles are grouped in main (module "mainbundles"), -# EU (module "eubundles"), and Asia (module "asiabundles"). -# Also adds a jar file containing resource bundles to the class path. - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAR="$COMPILEJAVA/bin/jar" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods - -CP= -for I in main eu asia -do - B=${I}bundles - mkdir -p mods/$B - CLASSES="`find $TESTSRC/src/$B -name '*.java'`" - if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src $CP $CLASSES - fi - PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`" - if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done - fi - CP="-cp mods/mainbundles" -done - -mkdir -p mods/test -$JAVAC -g -cp mods/mainbundles -d mods --module-source-path $TESTSRC/src \ - `find $TESTSRC/src/test -name "*.java"` - -# Create a jar to be added to the class path. Expected only properties files are -# picked up from the class path. -rm -f extra.jar -mkdir -p classes -$JAVAC -d classes $TESTSRC/src/extra/jdk/test/resources/eu/*.java -$JAR -cf extra.jar -C classes jdk/test/resources/eu \ - -C $TESTSRC/src/extra jdk/test/resources/asia - -STATUS=0 - -echo "jdk.test.Main should load bundles using ResourceBundleProviders." -$JAVA -p mods -m test/jdk.test.Main de fr ja ja-jp zh-tw en de ja-jp || STATUS=1 - -echo "jdk.test.Main should NOT load bundles from the jar file specified by the class-path." -$JAVA -cp extra.jar -p mods -m test/jdk.test.Main es vi && STATUS=1 - -exit $STATUS diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/asiabundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/asiabundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_de.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_de.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_de.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_de.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_fr.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/jdk/test/resources/eu/MyResources_fr.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/eubundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/eubundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResourcesProviderImpl.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResourcesProviderImpl.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResourcesProviderImpl.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResourcesProviderImpl.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources_en.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources_en.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/MyResources_en.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/MyResources_en.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/spi/MyResourcesProvider.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/spi/MyResourcesProvider.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/jdk/test/resources/spi/MyResourcesProvider.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/jdk/test/resources/spi/MyResourcesProvider.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_ja.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_ja.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/asiabundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/asiabundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResourcesEU.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResourcesEU.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_de.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_de.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_de.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_de.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_fr.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_fr.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/jdk/test/resources/eu/MyResources_fr.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/jdk/test/resources/eu/MyResources_fr.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/eubundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/eubundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResourcesProviderImpl.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResourcesProviderImpl.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResourcesProviderImpl.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResourcesProviderImpl.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources_en.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources_en.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/MyResources_en.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/MyResources_en.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/spi/MyResourcesProvider.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/spi/MyResourcesProvider.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/jdk/test/resources/spi/MyResourcesProvider.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/jdk/test/resources/spi/MyResourcesProvider.java diff --git a/test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/appbasic2/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcAppbasic2/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResourcesAsia.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_ja_JP.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/jdk/test/resources/asia/MyResources_zh_TW.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/asiabundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/asiabundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResourcesEU.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResourcesEU.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_de.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_de.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_de.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_de.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_fr.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/jdk/test/resources/eu/MyResources_fr.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/jdk/test/resources/eu/MyResources_fr.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/eubundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/eubundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/asia/MyResources_vi.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/asia/MyResources_vi.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/asia/MyResources_vi.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/asia/MyResources_vi.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/eu/MyResources_es.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/eu/MyResources_es.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/extra/jdk/test/resources/eu/MyResources_es.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/extra/jdk/test/resources/eu/MyResources_es.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResourcesMain.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResourcesMain.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResourcesMain.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResourcesMain.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources_en.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources_en.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/MyResources_en.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/MyResources_en.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/jdk/test/resources/spi/MyResourcesProvider.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/mainbundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/mainbundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/basic/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/basic/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcBasic/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/extra/jdk/test/resources/MyResources_vi.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/extra/jdk/test/resources/MyResources_vi.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/extra/jdk/test/resources/MyResources_vi.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/extra/jdk/test/resources/MyResources_vi.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_de.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_de.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_de.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_de.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_en.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_en.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_en.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_en.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_fr.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_fr.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_fr.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_fr.java diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_ja.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_ja.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_ja.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_ja.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh_TW.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh_TW.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/jdk/test/resources/MyResources_zh_TW.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/jdk/test/resources/MyResources_zh_TW.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/modlocal/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcModlocal/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_de.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_de.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_de.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_de.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_en.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_en.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_en.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_en.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_fr.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_fr.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_fr.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_fr.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_ja.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_ja.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_ja.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_ja.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh_TW.properties b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh_TW.properties similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/MyResources_zh_TW.properties rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/MyResources_zh_TW.properties diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/spi/MyResourcesProvider.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/jdk/test/resources/spi/MyResourcesProvider.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/bundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/bundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/simple/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcSimple/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_de.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_de.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_de.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_de.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_en.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_en.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_en.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_en.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_fr.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_fr.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_fr.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_fr.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_ja.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_ja.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_ja.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_ja.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh_TW.xml b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh_TW.xml similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/MyResources_zh_TW.xml rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/MyResources_zh_TW.xml diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/spi/MyResourcesProvider.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/jdk/test/resources/spi/MyResourcesProvider.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/jdk/test/resources/spi/MyResourcesProvider.java diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/bundles/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/bundles/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/jdk/test/Main.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/jdk/test/Main.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/jdk/test/Main.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/jdk/test/Main.java diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/module-info.java b/test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/module-info.java similarity index 100% rename from test/jdk/java/util/ResourceBundle/modules/xmlformat/src/test/module-info.java rename to test/jdk/java/util/ResourceBundle/modules/basic/srcXml/test/module-info.java diff --git a/test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java b/test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java new file mode 100644 index 00000000000..7b9c828c44d --- /dev/null +++ b/test/jdk/java/util/ResourceBundle/modules/layer/LayerTest.java @@ -0,0 +1,87 @@ +/* + * Copyright (c) 2017, 2018, 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. + */ + +/* + * @test + * @bug 8180375 8185251 8210408 + * @summary Tests resource bundles are correctly loaded from modules through + * ".spi.Provider" types. + * @library /test/lib + * .. + * @build jdk.test.lib.JDKToolLauncher + * jdk.test.lib.Utils + * jdk.test.lib.compiler.CompilerUtils + * jdk.test.lib.process.ProcessTools + * ModuleTestUtil + * @run main LayerTest + */ + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +import jdk.test.lib.JDKToolLauncher; +import jdk.test.lib.Utils; +import jdk.test.lib.process.ProcessTools; + +public class LayerTest { + private static final Path SRC_DIR = Paths.get(Utils.TEST_SRC, "src"); + private static final Path MODS_DIR = Paths.get(Utils.TEST_CLASSES, "mods"); + private static final List MODULE_LIST = List.of("m1", "m2"); + + public static void main(String[] args) throws Throwable { + MODULE_LIST.forEach(mn -> ModuleTestUtil.prepareModule(SRC_DIR, + MODS_DIR, mn, ".properties")); + compileCmd(); + runCmd(); + } + + private static void compileCmd() throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("javac"); + launcher.addToolArg("-d") + .addToolArg(Utils.TEST_CLASSES) + .addToolArg(SRC_DIR.resolve("Main.java").toString()); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Compile of the test failed. " + + "Unexpected exit code: " + exitCode); + } + } + + private static void runCmd() throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java"); + launcher.addToolArg("-cp") + .addToolArg(Utils.TEST_CLASSES) + .addToolArg("Main") + .addToolArg(Utils.TEST_CLASSES); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Execution of the test failed. " + + "Unexpected exit code: " + exitCode); + } + } +} \ No newline at end of file diff --git a/test/jdk/java/util/ResourceBundle/modules/layer/run.sh b/test/jdk/java/util/ResourceBundle/modules/layer/run.sh deleted file mode 100644 index a604e412c5c..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/layer/run.sh +++ /dev/null @@ -1,52 +0,0 @@ -# -# Copyright (c) 2017, 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. -# - -# @test -# @bug 8180375 8185251 -# @summary Tests resource bundles are correctly loaded from -# modules through ".spi.Provider" types. - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods -$JAVAC --module-source-path $TESTSRC/src -d mods --module m1,m2 - -mkdir -p mods/m1/p/resources mods/m2/p/resources -cp $TESTSRC/src/m1/p/resources/*.properties mods/m1/p/resources -cp $TESTSRC/src/m2/p/resources/*.properties mods/m2/p/resources - -mkdir classes -$JAVAC -d classes $TESTSRC/src/Main.java - -$JAVA -cp classes Main diff --git a/test/jdk/java/util/ResourceBundle/modules/layer/src/Main.java b/test/jdk/java/util/ResourceBundle/modules/layer/src/Main.java index a0fb8c15305..3e78803c4a9 100644 --- a/test/jdk/java/util/ResourceBundle/modules/layer/src/Main.java +++ b/test/jdk/java/util/ResourceBundle/modules/layer/src/Main.java @@ -31,7 +31,7 @@ import java.util.ResourceBundle; public class Main { public static void main(String... args) throws Exception { - ModuleFinder afterFinder = ModuleFinder.of(Paths.get("mods")); + ModuleFinder afterFinder = ModuleFinder.of(Paths.get(args[0], "mods")); Configuration cf = ModuleLayer.boot().configuration() .resolveAndBind(ModuleFinder.of(), afterFinder, diff --git a/test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh b/test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh deleted file mode 100644 index bc75ee61c93..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/modlocal/modlocal.sh +++ /dev/null @@ -1,78 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @bug 8044767 8139067 -# @summary Test case for having resource bundles in a local named module -# with no ResourceBundleProviders. - - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAR="$COMPILEJAVA/bin/jar" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods -mkdir -p mods/test - -# -# Copy .properties files -# -PROPS="`(cd $TESTSRC/src; find . -name '*.properties')`" -if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$D - cp $TESTSRC/src/$P mods/$D/ - done -fi - -$JAVAC -g -d mods --module-source-path $TESTSRC/src \ - -cp mods/bundles `find $TESTSRC/src/test -name "*.java"` - -# Create a jar to be added to the class path. Expected properties files are -# picked up from the class path. -rm -f extra.jar -mkdir -p classes -$JAR -cf extra.jar -C $TESTSRC/src/extra jdk/test/resources - -STATUS=0 - -echo 'jdk.test.Main should load bundles local to named module "test".' -$JAVA -p mods -m test/jdk.test.Main de fr ja zh-tw en de || STATUS=1 - -echo "jdk.test.Main should load bundles from the jar file specified by the class-path." -$JAVA -cp extra.jar -p mods -m test/jdk.test.Main vi || STATUS=1 - - -exit $STATUS diff --git a/test/jdk/java/util/ResourceBundle/modules/simple/simple.sh b/test/jdk/java/util/ResourceBundle/modules/simple/simple.sh deleted file mode 100644 index 08f3a945ce6..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/simple/simple.sh +++ /dev/null @@ -1,70 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @bug 8044767 -# @summary Simple test case for ResourceBundle with named modules; -# ResourceBundle.getBundle caller is in named module "test" and -# all resource bundles are in single named module "bundles" with -# service providers. - - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods - -mkdir -p mods/test - -B=bundles -mkdir -p mods/$B -CLASSES="`find $TESTSRC/src/$B -name '*.java'`" -if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src $CLASSES -fi -PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`" -if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done -fi - -$JAVAC -g -d mods --module-source-path $TESTSRC/src \ - -cp mods/bundles `find $TESTSRC/src/test -name "*.java"` - -$JAVA -p mods -m test/jdk.test.Main de fr ja zh-tw en de - -exit $? diff --git a/test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java b/test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java new file mode 100644 index 00000000000..c84508220b9 --- /dev/null +++ b/test/jdk/java/util/ResourceBundle/modules/unnamed/UnNamedTest.java @@ -0,0 +1,113 @@ +/* + * Copyright (c) 2016, 2018, 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. + */ + +/* + * @test + * @bug 8210408 + * @summary Test unnamed module to find resource bundles exported from a named + * module. + * @library /test/lib + * .. + * @build jdk.test.lib.JDKToolLauncher + * jdk.test.lib.Utils + * jdk.test.lib.compiler.CompilerUtils + * jdk.test.lib.process.ProcessTools + * ModuleTestUtil + * @run main UnNamedTest + */ + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +import jdk.test.lib.JDKToolLauncher; +import jdk.test.lib.Utils; +import jdk.test.lib.process.ProcessTools; + +public class UnNamedTest { + private static final Path SRC_DIR = Paths.get(Utils.TEST_SRC, "src"); + private static final Path MODS_DIR = Paths.get(Utils.TEST_CLASSES, "mods"); + + private static final List LOCALE_LIST = List.of("de", "fr", "ja", + "zh-tw", "en", "de"); + + public static void main(String[] args) throws Throwable { + ModuleTestUtil.prepareModule(SRC_DIR, MODS_DIR, "bundles", ".properties"); + compileCmd(); + runCmd(); + } + + private static void compileCmd() throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("javac"); + launcher.addToolArg("-d") + .addToolArg(Utils.TEST_CLASSES) + .addToolArg(Paths.get(Utils.TEST_SRC, "Main.java").toString()); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Compile of the test failed. " + + "Unexpected exit code: " + exitCode); + } + } + + private static void runCmd() throws Throwable { + // access resource bundles that are exported private unconditionally. + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java"); + launcher.addToolArg("-cp") + .addToolArg(Utils.TEST_CLASSES) + .addToolArg("--module-path") + .addToolArg(MODS_DIR.toString()) + .addToolArg("--add-modules") + .addToolArg("bundles") + .addToolArg("Main"); + LOCALE_LIST.forEach(launcher::addToolArg); + + int exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Execution of the test1 failed. " + + "Unexpected exit code: " + exitCode); + } + + // --add-exports can't open resources + launcher = JDKToolLauncher.createUsingTestJDK("java"); + launcher.addToolArg("-cp") + .addToolArg(Utils.TEST_CLASSES) + .addToolArg("--module-path") + .addToolArg(MODS_DIR.toString()) + .addToolArg("--add-modules") + .addToolArg("bundles") + .addToolArg("--add-opens") + .addToolArg("bundles/jdk.test.internal.resources=ALL-UNNAMED") + .addToolArg("Main"); + LOCALE_LIST.forEach(launcher::addToolArg); + + exitCode = ProcessTools.executeCommand(launcher.getCommand()) + .getExitValue(); + if (exitCode != 0) { + throw new RuntimeException("Execution of the test2 failed. " + + "Unexpected exit code: " + exitCode); + } + } +} \ No newline at end of file diff --git a/test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh b/test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh deleted file mode 100644 index 1860589f7f1..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/unnamed/unnamed.sh +++ /dev/null @@ -1,74 +0,0 @@ -# -# Copyright (c) 2016, 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. -# - -# @test -# @summary Test unnamed module to find resource bundles exported -# from a named module - - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods - -mkdir -p mods/test - -B=bundles -mkdir -p mods/$B -CLASSES="`find $TESTSRC/src/$B -name '*.java'`" -if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src $CLASSES -fi -PROPS="`(cd $TESTSRC/src/$B; find . -name '*.properties')`" -if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done -fi - -mkdir classes -$JAVAC -d classes $TESTSRC/Main.java - -# access resource bundles that are exported private unconditionally -$JAVA -cp classes --module-path mods --add-modules bundles \ - Main de fr ja zh-tw en de - -# --add-exports can't open resources -$JAVA -cp classes --module-path mods --add-modules bundles \ - --add-opens bundles/jdk.test.internal.resources=ALL-UNNAMED \ - Main de fr ja zh-tw en de - -exit $? diff --git a/test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java b/test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java new file mode 100644 index 00000000000..1ade26104eb --- /dev/null +++ b/test/jdk/java/util/ResourceBundle/modules/visibility/VisibilityTest.java @@ -0,0 +1,336 @@ +/* + * Copyright (c) 2015, 2018, 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. + */ + +/* + * @test + * @bug 8137317 8139238 8210408 + * @summary Visibility tests for ResourceBundle.getBundle with and without + * an unnamed module argument. + * @library /test/lib + * .. + * @build jdk.test.lib.JDKToolLauncher + * jdk.test.lib.Utils + * jdk.test.lib.compiler.CompilerUtils + * jdk.test.lib.process.ProcessTools + * ModuleTestUtil + * @run testng VisibilityTest + */ + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.List; + +import jdk.test.lib.JDKToolLauncher; +import jdk.test.lib.Utils; +import jdk.test.lib.process.ProcessTools; +import org.testng.annotations.BeforeTest; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import static org.testng.Assert.assertEquals; + +@Test +public class VisibilityTest { + private static final Path SRC_DIR = Paths.get(Utils.TEST_SRC, "src"); + private static final Path MODS_DIR = Paths.get(Utils.TEST_CLASSES, "mods"); + private static final Path CLASSES_DIR = Paths.get(Utils.TEST_CLASSES, "classes"); + private static final Path NAMED_BUNDLES_DIR = MODS_DIR.resolve("named.bundles"); + private static final Path EXPORTED_NAMED_BUNDLES_DIR = MODS_DIR.resolve("exported.named.bundles"); + + private static final List MODULE_LIST = List.of("embargo", + "exported.named.bundles", "named.bundles", "test"); + + @BeforeTest + public void prepareTestEnv() throws Throwable { + MODULE_LIST.forEach(mn -> ModuleTestUtil.prepareModule(SRC_DIR, + MODS_DIR, mn, ".properties")); + + // Prepare resource bundles in an unnamed module + ModuleTestUtil.compilePkg(SRC_DIR, CLASSES_DIR, "pkg"); + ModuleTestUtil.copyResFiles(SRC_DIR, CLASSES_DIR, "pkg", ".properties"); + + } + + /** + * Package jdk.test is in named module "test". + * Package jdk.embargo is in named module "embargo". + * + * jdk.{test,embargo}.TestWithUnnamedModuleArg call: + * ResourceBundle.getBundle(basename, classloader.getUnnamedModule()) + * where classloader is the TCCL or system class loader. + * jdk.{test,embargo}.TestWithNoModuleArg call: + * ResourceBundle.getBundle(basename) + * + * jdk.test.resources[.exported].classes.* are class-based resource bundles. + * jdk.test.resources[.exported].props.* are properties file-based resource bundles. + * + * Packages jdk.test.resources.{classes,props} in named module "named.bundles" + * are exported only to named module "test". + * Packages jdk.test.resources.exported.{classes,props} in named module + * "exported.named.bundle" are exported to unnamed modules. + */ + + @DataProvider(name = "RunWithTestResData") + Object[][] RunWithTestResData() { + return new Object[][] { + // Tests using jdk.test.TestWithNoModuleArg and jdk.embargo.TestWithNoModuleArg. + // Neither of which specifies an unnamed module with ResourceBundle.getBundle(). + + // jdk.test.resources.{classes,props}.* are available only to + // named module "test" by ResourceBundleProvider. + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.classes.MyResources", "true")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.props.MyResources", "true")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.classes.MyResources", "false")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.props.MyResources", "false")}, + + // Add mods/named.bundles to the class path. + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.classes.MyResources", "true")}, + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.props.MyResources", "true")}, + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.classes.MyResources", "true")}, + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.props.MyResources", "true")}, + + // Tests using jdk.test.TestWithUnnamedModuleArg and + // jdk.embargo.TestWithUnnamedModuleArg. + // Both of which specify an unnamed module with ResourceBundle.getBundle. + + // jdk.test.resources.classes is exported to named module "test". + // IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.classes.MyResources", "false")}, + + // jdk.test.resources.props is exported to named module "test". + // loader.getResource() doesn't find jdk.test.resources.props.MyResources. + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.props.MyResources", "false")}, + + // IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.classes.MyResources", "false")}, + + // jdk.test.resources.props is exported to named module "test". + // loader.getResource() doesn't find jdk.test.resources.props.MyResources. + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.props.MyResources", "false")}, + + // Add mods/named.bundles to the class path. + + // IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.classes.MyResources", "false")}, + + // loader.getResource() finds jdk.test.resources.exported.props.MyResources. + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.props.MyResources", "true")}, + + // jdk.test.resources.exported.classes.MyResources is treated + // as if the class is in an unnamed module. + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.classes.MyResources", "true")}, + + // loader.getResource() finds jdk.test.resources.exported.props.MyResources. + {List.of("-cp", NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.props.MyResources", "true")}, + }; + } + + @DataProvider(name = "RunWithExportedResData") + Object[][] RunWithExportedResData() { + return new Object[][] { + // Tests using jdk.test.TestWithNoModuleArg and jdk.embargo.TestWithNoModuleArg + // neither of which specifies an unnamed module with ResourceBundle.getBundle. + + // None of jdk.test.resources.exported.** is available to the named modules. + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.exported.classes.MyResources", "false")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.exported.props.MyResources", "false")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.exported.classes.MyResources", "false")}, + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.exported.props.MyResources", "false")}, + + // Add mods/exported.named.bundles to the class path. + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.exported.classes.MyResources", "true")}, + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithNoModuleArg", + "jdk.test.resources.exported.props.MyResources", "true")}, + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.exported.classes.MyResources", "true")}, + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithNoModuleArg", + "jdk.test.resources.exported.props.MyResources", "true")}, + + // Tests using jdk.test.TestWithUnnamedModuleArg and + // jdk.embargo.TestWithUnnamedModuleArg which specify + // an unnamed module with ResourceBundle.getBundle. + + // loader.loadClass() doesn't find jdk.test.resources.exported.classes.MyResources + // and throws a ClassNotFoundException. + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.classes.MyResources", "false")}, + + // The properties files in jdk.test.resources.exported.props + // are not found with loader.getResource(). + {List.of("-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.props.MyResources", "false")}, + + // loader.loadClass() doesn't find jdk.test.resources.exported.classes.MyResources + // and throws a ClassNotFoundException. + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.classes.MyResources", "false")}, + + // The properties files in jdk.test.resources.exported.props are not found + // with loader.getResource(). + {List.of("-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.props.MyResources", "false")}, + + // Add mods/exported.named.bundles to the class path. + + // jdk.test.resources.exported.classes.MyResources.getModule().isNamed() + // returns false. + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.classes.MyResources", "true")}, + + // loader.getResource() finds jdk.test.resources.exported.props.MyResources. + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "test/jdk.test.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.props.MyResources", "true")}, + + // jdk.test.resources.exported.classes.MyResources.getModule().isNamed() + // returns false. + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.classes.MyResources", "true")}, + + // loader.getResource() finds jdk.test.resources.exported.props.MyResources. + {List.of("-cp", EXPORTED_NAMED_BUNDLES_DIR.toString(), + "-p", MODS_DIR.toString(), + "-m", "embargo/jdk.embargo.TestWithUnnamedModuleArg", + "jdk.test.resources.exported.props.MyResources", "true")}, + + }; + } + + @DataProvider(name = "RunWithPkgResData") + Object[][] RunWithPkgResData() { + return new Object[][] { + // jdk.pkg.resources.* are in an unnamed module. + // jdk.pkg.test.Main calls ResourceBundle.getBundle with an unnamed module. + { List.of("-cp", CLASSES_DIR.resolve("pkg").toString(), "jdk.pkg.test.Main", + "jdk.pkg.resources.classes.MyResources", "true")}, + { List.of("-cp", CLASSES_DIR.resolve("pkg").toString(), "jdk.pkg.test.Main", + "jdk.pkg.resources.props.MyResources", "true")}, + }; + } + + /** + * Test cases with jdk.test.resources.* + */ + @Test(dataProvider = "RunWithTestResData") + public void RunWithTestRes(List argsList) throws Throwable { + int exitCode = runCmd(argsList); + assertEquals(exitCode, 0, "Execution of the tests with " + + "jdk.test.resources.* failed. " + + "Unexpected exit code: " + exitCode); + } + + /** + * Test cases with jdk.test.resources.exported.* + */ + @Test(dataProvider = "RunWithExportedResData") + public void RunWithExportedRes(List argsList) throws Throwable { + int exitCode = runCmd(argsList); + assertEquals(exitCode, 0, "Execution of the tests with " + + "jdk.test.resources.exported.* failed. " + + "Unexpected exit code: " + exitCode); + } + + /** + * Test cases with jdk.pkg.resources.* + */ + @Test(dataProvider = "RunWithPkgResData") + public void RunWithPkgRes(List argsList) throws Throwable { + int exitCode = runCmd(argsList); + assertEquals(exitCode, 0, "Execution of the tests with " + + "jdk.pkg.resources.* failed. " + + "Unexpected exit code: " + exitCode); + } + + private int runCmd(List argsList) throws Throwable { + JDKToolLauncher launcher = JDKToolLauncher.createUsingTestJDK("java"); + argsList.forEach(launcher::addToolArg); + + return ProcessTools.executeCommand(launcher.getCommand()).getExitValue(); + } +} \ No newline at end of file diff --git a/test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh b/test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh deleted file mode 100644 index 7aeaf827d60..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/visibility/visibility.sh +++ /dev/null @@ -1,233 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @bug 8137317 8139238 -# @summary Visibility tests for ResourceBundle.getBundle with and without -# an unnamed module argument. - - -set -e -STATUS=0 - -runJava() -{ - echo "Executing java $@" - $JAVA $@ || STATUS=1 - echo -} - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods classes - -MODS=`cd $TESTSRC/src; find . -name module-info.java -exec dirname {} \; | sed 's:\./::'` - -for M in $MODS -do - mkdir -p mods/$M - CLASSES="`find $TESTSRC/src/$M -name '*.java'`" - if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src $CLASSES - fi - PROPS="`(cd $TESTSRC/src/$M; find . -name '*.properties')`" - if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$M/$D - cp $TESTSRC/src/$M/$P mods/$M/$D/ - done - fi -done - -# Package jdk.test is in named module "test". -# Package jdk.embargo is in named module "embargo". - -# jdk.{test,embargo}.TestWithUnnamedModuleArg call: -# ResourceBundle.getBundle(basename, classloader.getUnnamedModule()) -# where classloader is the TCCL or system class loader. -# jdk.{test,embargo}.TestWithNoModuleArg call: -# ResourceBundle.getBundle(basename) - -# jdk.test.resources[.exported].classes.* are class-based resource bundles. -# jdk.test.resources[.exported].props.* are properties file-based resource bundles. - -# Packages jdk.test.resources.{classes,props} in named module "named.bundles" -# are exported only to named module "test". -# Packages jdk.test.resources.exported.{classes,props} in named module -# "exported.named.bundle" are exported to unnamed modules. - -######################################## -# Test cases with jdk.test.resources.* # -######################################## - -# Tests using jdk.test.TestWithNoModuleArg and jdk.embargo.TestWithNoModuleArg -# neither of which specifies an unnamed module with ResourceBundle.getBundle(). - -# jdk.test.resources.{classes,props}.* are available only to named module "test" -# by ResourceBundleProvider. -runJava -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.classes.MyResources true -runJava -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.props.MyResources true -runJava -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.classes.MyResources false -runJava -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.props.MyResources false - -# Add mods/named.bundles to the class path. -runJava -cp mods/named.bundles -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.classes.MyResources true -runJava -cp mods/named.bundles -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.props.MyResources true -runJava -cp mods/named.bundles -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.classes.MyResources true -runJava -cp mods/named.bundles -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.props.MyResources true - -# Tests using jdk.test.TestWithUnnamedModuleArg and jdk.embargo.TestWithUnnamedModuleArg -# both of which specify an unnamed module with ResourceBundle.getBundle. - -# jdk.test.resources.classes is exported to named module "test". -# IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). -runJava -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.classes.MyResources false - -# jdk.test.resources.props is exported to named module "test". -# loader.getResource() doesn't find jdk.test.resources.props.MyResources. -runJava -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.props.MyResources false - -# IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). -runJava -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.classes.MyResources false -# jdk.test.resources.props is exported to named module "test". -# loader.getResource() doesn't find jdk.test.resources.props.MyResources. -runJava -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.props.MyResources false - -# Add mods/named.bundles to the class path - -# IllegalAccessException is thrown in ResourceBundle.Control.newBundle(). -runJava -cp mods/named.bundles -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.classes.MyResources false -# loader.getResource() finds jdk.test.resources.exported.props.MyResources. -runJava -cp mods/named.bundles -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.props.MyResources true - -# jdk.test.resources.exported.classes.MyResources is treated -# as if the class is in an unnamed module. -runJava -cp mods/named.bundles -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.classes.MyResources true -# loader.getResource() finds jdk.test.resources.exported.props.MyResources. -runJava -cp mods/named.bundles -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.props.MyResources true - -################################################# -# Test cases with jdk.test.resources.exported.* # -################################################# -# Tests using jdk.test.TestWithNoModuleArg and jdk.embargo.TestWithNoModuleArg -# neither of which specifies an unnamed module with ResourceBundle.getBundle. - -# None of jdk.test.resources.exported.** is available to the named modules. -runJava -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.exported.classes.MyResources false -runJava -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.exported.props.MyResources false -runJava -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.exported.classes.MyResources false -runJava -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.exported.props.MyResources false - -# Add mods/exported.named.bundles to the class path. -runJava -cp mods/exported.named.bundles -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.exported.classes.MyResources true -runJava -cp mods/exported.named.bundles -p mods -m test/jdk.test.TestWithNoModuleArg \ - jdk.test.resources.exported.props.MyResources true -runJava -cp mods/exported.named.bundles -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.exported.classes.MyResources true -runJava -cp mods/exported.named.bundles -p mods -m embargo/jdk.embargo.TestWithNoModuleArg \ - jdk.test.resources.exported.props.MyResources true - -# Tests using jdk.test.TestWithUnnamedModuleArg and jdk.embargo.TestWithUnnamedModuleArg -# which specify an unnamed module with ResourceBundle.getBundle. - -# loader.loadClass() doesn't find jdk.test.resources.exported.classes.MyResources -# and throws a ClassNotFoundException. -runJava -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.classes.MyResources false -# The properties files in jdk.test.resources.exported.props are not found with loader.getResource(). -runJava -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.props.MyResources false - - -# loader.loadClass() doesn't find jdk.test.resources.exported.classes.MyResources -# and throws a ClassNotFoundException. -runJava -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.classes.MyResources false -# The properties files in jdk.test.resources.exported.props are not found -# with loader.getResource(). -runJava -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.props.MyResources false - -# Add mods/exported.named.bundles to the class path. - -# jdk.test.resources.exported.classes.MyResources.getModule().isNamed() returns false. -runJava -cp mods/exported.named.bundles -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.classes.MyResources true -# loader.getResource() finds jdk.test.resources.exported.props.MyResources. -runJava -cp mods/exported.named.bundles -p mods -m test/jdk.test.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.props.MyResources true - -# jdk.test.resources.exported.classes.MyResources.getModule().isNamed() returns false. -runJava -cp mods/exported.named.bundles -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.classes.MyResources true -# loader.getResource() finds jdk.test.resources.exported.props.MyResources. -runJava -cp mods/exported.named.bundles -p mods -m embargo/jdk.embargo.TestWithUnnamedModuleArg \ - jdk.test.resources.exported.props.MyResources true - -####################################### -# Test cases with jdk.pkg.resources.* # -####################################### -# Prepare resource bundles in an unnamed module -PKG=$TESTSRC/src/pkg -mkdir -p classes/jdk/pkg/resources/props -$JAVAC -g -d classes $PKG/jdk/pkg/test/Main.java $PKG/jdk/pkg/resources/classes/MyResources.java -cp $PKG/jdk/pkg/resources/props/MyResources.properties classes/jdk/pkg/resources/props - -# jdk.pkg.resources.* are in an unnamed module. -# jdk.pkg.test.Main calls ResourceBundle.getBundle with an unnamed module. -runJava -cp classes jdk.pkg.test.Main jdk.pkg.resources.classes.MyResources true -runJava -cp classes jdk.pkg.test.Main jdk.pkg.resources.props.MyResources true - -exit $STATUS diff --git a/test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh b/test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh deleted file mode 100644 index 4c5c7b13843..00000000000 --- a/test/jdk/java/util/ResourceBundle/modules/xmlformat/xmlformat.sh +++ /dev/null @@ -1,68 +0,0 @@ -# -# Copyright (c) 2015, 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. -# - -# @test -# @summary Simple test case for ResourceBundle with modules; -# ResourceBundle.getBundle caller is in module named "test" and -# all resource bundles are in single module named "bundles". - - -set -e - -if [ -z "$TESTJAVA" ]; then - if [ $# -lt 1 ]; then exit 1; fi - TESTJAVA="$1"; shift - COMPILEJAVA="${TESTJAVA}" - TESTSRC="`pwd`" - TESTCLASSES="`pwd`" -fi - -JAVAC="$COMPILEJAVA/bin/javac" -JAVA="$TESTJAVA/bin/java" - -rm -rf mods - -mkdir -p mods/test - -B=bundles -mkdir -p mods/$B -CLASSES="`find $TESTSRC/src/$B -name '*.java'`" -if [ "x$CLASSES" != x ]; then - $JAVAC -g -d mods --module-source-path $TESTSRC/src $CLASSES -fi -PROPS="`(cd $TESTSRC/src/$B; find . -name '*.xml')`" -if [ "x$PROPS" != x ]; then - for P in $PROPS - do - D=`dirname $P` - mkdir -p mods/$B/$D - cp $TESTSRC/src/$B/$P mods/$B/$D/ - done -fi - -$JAVAC -g -d mods --module-source-path $TESTSRC/src \ - -cp mods/bundles `find $TESTSRC/src/test -name "*.java"` - -$JAVA -p mods -m test/jdk.test.Main de fr ja zh-tw en de - -exit $?