mirror of
https://github.com/openjdk/jdk.git
synced 2026-04-21 12:20:29 +00:00
8167018: Nashorn and jjs should support --module-path and --add-modules options
Reviewed-by: jlaskey, hannesw
This commit is contained in:
parent
0d8b76a7d7
commit
d47b7ffca5
17
jdk/test/tools/jjs/addmodulesrepeat.js
Normal file
17
jdk/test/tools/jjs/addmodulesrepeat.js
Normal file
@ -0,0 +1,17 @@
|
||||
/*
|
||||
* This is the test JavaScript program used in jjs-modulepathTest.sh
|
||||
*/
|
||||
|
||||
print("--module-path passed: " + $OPTIONS._module_path);
|
||||
print("--add-modules passed: " + $OPTIONS._add_modules);
|
||||
|
||||
if ($OPTIONS._add_modules != "java.base,com.greetings") {
|
||||
throw new Error("--add-modules values are not merged!");
|
||||
}
|
||||
|
||||
var Hello = com.greetings.Hello;
|
||||
|
||||
var moduleName = Hello.class.module.name;
|
||||
if (moduleName != "com.greetings") {
|
||||
throw new Error("Expected module name to be com.greetings");
|
||||
}
|
||||
30
jdk/test/tools/jjs/com.greetings/com/greetings/Hello.java
Normal file
30
jdk/test/tools/jjs/com.greetings/com/greetings/Hello.java
Normal file
@ -0,0 +1,30 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
package com.greetings;
|
||||
|
||||
public class Hello {
|
||||
public static String greet() {
|
||||
return "Hello World!";
|
||||
}
|
||||
}
|
||||
26
jdk/test/tools/jjs/com.greetings/module-info.java
Normal file
26
jdk/test/tools/jjs/com.greetings/module-info.java
Normal file
@ -0,0 +1,26 @@
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
module com.greetings {
|
||||
exports com.greetings;
|
||||
}
|
||||
68
jdk/test/tools/jjs/jjs-modulepathTest.sh
Normal file
68
jdk/test/tools/jjs/jjs-modulepathTest.sh
Normal file
@ -0,0 +1,68 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# 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
|
||||
# @bug 8167018
|
||||
# @summary Nashorn and jjs should support --module-path and --add-modules options
|
||||
# @run shell jjs-modulepathTest.sh
|
||||
# Tests --module-path option to set the module path for jjs
|
||||
|
||||
. ${TESTSRC-.}/common.sh
|
||||
|
||||
setup
|
||||
|
||||
mkdir -p ${TESTCLASSES}/com.greetings
|
||||
rm -rf ${TESTCLASSES}/com.greetings
|
||||
|
||||
${JAVAC} ${TESTSRC}/com.greetings/module-info.java \
|
||||
${TESTSRC}/com.greetings/com/greetings/*.java \
|
||||
-d ${TESTCLASSES}/com.greetings
|
||||
|
||||
# no --add-modules passed. This should result in error.
|
||||
${JJS} -scripting --module-path ${TESTCLASSES} ${TESTSRC}/modulepath.js
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Error thrown as expected when --add-modules is missing!"
|
||||
else
|
||||
echo "Should have thrown error for missing --add-modules!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# proper usage of --module-path with --add-modules
|
||||
${JJS} -scripting --module-path ${TESTCLASSES} --add-modules com.greetings ${TESTSRC}/modulepath.js
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# check that repeated --add-modules values are combined
|
||||
${JJS} -scripting --module-path ${TESTCLASSES} --add-modules java.base --add-modules com.greetings ${TESTSRC}/addmodulesrepeat.js
|
||||
if [ $? -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -rf ${TESTCLASSES}/com.greetings
|
||||
echo "Passed"
|
||||
exit 0
|
||||
21
jdk/test/tools/jjs/modulepath.js
Normal file
21
jdk/test/tools/jjs/modulepath.js
Normal file
@ -0,0 +1,21 @@
|
||||
/*
|
||||
* This is the test JavaScript program used in jjs-modulepathTest.sh
|
||||
*/
|
||||
|
||||
print("--module-path passed: " + $OPTIONS._module_path);
|
||||
print("--add-modules passed: " + $OPTIONS._add_modules);
|
||||
|
||||
var Hello = com.greetings.Hello;
|
||||
var moduleName = Hello.class.module.name;
|
||||
if (moduleName != "com.greetings") {
|
||||
throw new Error("Expected module name to be com.greetings");
|
||||
} else {
|
||||
print("Module name is " + moduleName);
|
||||
}
|
||||
|
||||
var msg = Hello.greet();
|
||||
if (msg != "Hello World!") {
|
||||
throw new Error("Expected 'Hello World!'");
|
||||
} else {
|
||||
print(msg);
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user