1#!/bin/sh
2
3#
4# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
5# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6#
7# This code is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License version 2 only, as
9# published by the Free Software Foundation.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26
27# @test
28# @bug 8167018
29# @summary Nashorn and jjs should support --module-path and --add-modules options
30# @run shell jjs-modulepathTest.sh
31# Tests --module-path option to set the module path for jjs
32
33. ${TESTSRC-.}/common.sh
34
35setup
36
37mkdir -p ${TESTCLASSES}/com.greetings
38rm -rf ${TESTCLASSES}/com.greetings
39
40${JAVAC} ${TESTSRC}/com.greetings/module-info.java \
41    ${TESTSRC}/com.greetings/com/greetings/*.java   \
42     -d ${TESTCLASSES}/com.greetings
43
44# no --add-modules passed. This should result in error.
45${JJS} -scripting --module-path ${TESTCLASSES} ${TESTSRC}/modulepath.js
46
47if [ $? -ne 0 ]; then
48   echo "Error thrown as expected when --add-modules is missing!"
49else
50   echo "Should have thrown error for missing --add-modules!"
51   exit 1
52fi
53
54# proper usage of --module-path with --add-modules
55${JJS} -scripting --module-path ${TESTCLASSES} --add-modules com.greetings ${TESTSRC}/modulepath.js
56if [ $? -ne 0 ]; then
57   exit 1
58fi
59
60# check that repeated --add-modules values are combined
61${JJS} -scripting --module-path ${TESTCLASSES} --add-modules java.base --add-modules com.greetings ${TESTSRC}/addmodulesrepeat.js
62if [ $? -ne 0 ]; then
63   exit 1
64fi
65
66rm -rf ${TESTCLASSES}/com.greetings
67echo "Passed"
68exit 0
69