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 
  35 setup
  36 
  37 mkdir -p ${TESTCLASSES}/com.greetings
  38 rm -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 
  47 if [ $? -ne 0 ]; then
  48    echo "Error thrown as expected when --add-modules is missing!"
  49 else
  50    echo "Should have thrown error for missing --add-modules!"
  51    exit 1
  52 fi
  53 
  54 # proper usage of --module-path with --add-modules
  55 ${JJS} -scripting --module-path ${TESTCLASSES} --add-modules com.greetings ${TESTSRC}/modulepath.js
  56 if [ $? -ne 0 ]; then
  57    exit 1
  58 fi
  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
  62 if [ $? -ne 0 ]; then
  63    exit 1
  64 fi
  65 
  66 rm -rf ${TESTCLASSES}/com.greetings
  67 echo "Passed"
  68 exit 0