#!/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
