test/java/util/ServiceLoader/basic.sh

Print this page




  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 # @test
  25 # @bug 4640520 6354623 7198496
  26 # @summary Unit test for java.util.ServiceLoader
  27 #
  28 # @build Basic Load FooService FooProvider1 FooProvider2 FooProvider3
  29 # @run shell basic.sh
  30 
  31 # Command-line usage: sh basic.sh /path/to/build
  32 
  33 if [ -z "$TESTJAVA" ]; then
  34   if [ $# -lt 1 ]; then exit 1; fi
  35   TESTJAVA="$1"; shift

  36   TESTSRC="`pwd`"
  37   TESTCLASSES="`pwd`"
  38 fi
  39 
  40 JAVA="$TESTJAVA/bin/java"
  41 JAR="$TESTJAVA/bin/jar"
  42 
  43 OS=`uname -s`
  44 case "$OS" in
  45     SunOS | Darwin )
  46       SEP=':' ;;
  47     Linux )
  48       SEP=':' ;;
  49     * )
  50       SEP='\;' ;;
  51 esac
  52 
  53 JARD=x.jar
  54 EXTD=x.ext
  55 TESTD=x.test
  56 
  57 if [ \! -d $EXTD ]; then
  58     # Initialize
  59     echo Initializing...
  60     rm -rf $JARD $EXTD $TESTD
  61     mkdir -p $JARD $EXTD $TESTD
  62 
  63     for n in 2 3; do
  64       rm -rf $JARD/*; mkdir -p $JARD/META-INF/services
  65       echo FooProvider$n \
  66         >$JARD/META-INF/services/FooService
  67       cp $TESTCLASSES/FooProvider$n.class $JARD
  68       if [ $n = 3 ]; then
  69         cp $TESTCLASSES/FooService.class $JARD
  70       fi
  71       (cd $JARD; "$JAR" -cf ../p$n.jar *)
  72     done
  73 
  74     mv p3.jar $EXTD
  75 
  76     cp $TESTCLASSES/Load.class $TESTD
  77     cp $TESTCLASSES/FooService.class $TESTD
  78     cp $TESTCLASSES/FooProvider1.class $TESTD
  79     mkdir -p $TESTD/META-INF/services
  80     echo FooProvider1 \
  81       >$TESTD/META-INF/services/FooService
  82 
  83     # This gives us:
  84     #   $TESTD: FooProvider1
  85     #   .     : FooProvider2, in p2.jar
  86     #   $EXTD:  FooProvider3, in p3.jar
  87 
  88 fi
  89 
  90 failures=0
  91 




  16 # 2 along with this work; if not, write to the Free Software Foundation,
  17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 #
  19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 # or visit www.oracle.com if you need additional information or have any
  21 # questions.
  22 #
  23 
  24 # @test
  25 # @bug 4640520 6354623 7198496
  26 # @summary Unit test for java.util.ServiceLoader
  27 #
  28 # @build Basic Load FooService FooProvider1 FooProvider2 FooProvider3
  29 # @run shell basic.sh
  30 
  31 # Command-line usage: sh basic.sh /path/to/build
  32 
  33 if [ -z "$TESTJAVA" ]; then
  34   if [ $# -lt 1 ]; then exit 1; fi
  35   TESTJAVA="$1"; shift
  36   COMPILEJAVA="${TESTJAVA}"
  37   TESTSRC="`pwd`"
  38   TESTCLASSES="`pwd`"
  39 fi
  40 
  41 JAVA="$TESTJAVA/bin/java"
  42 JAR="$COMPILEJAVA/bin/jar"
  43 
  44 OS=`uname -s`
  45 case "$OS" in
  46     SunOS | Darwin )
  47       SEP=':' ;;
  48     Linux )
  49       SEP=':' ;;
  50     * )
  51       SEP='\;' ;;
  52 esac
  53 
  54 JARD=x.jar
  55 EXTD=x.ext
  56 TESTD=x.test
  57 
  58 if [ \! -d $EXTD ]; then
  59     # Initialize
  60     echo Initializing...
  61     rm -rf $JARD $EXTD $TESTD
  62     mkdir -p $JARD $EXTD $TESTD
  63 
  64     for n in 2 3; do
  65       rm -rf $JARD/*; mkdir -p $JARD/META-INF/services
  66       echo FooProvider$n \
  67         >$JARD/META-INF/services/FooService
  68       cp $TESTCLASSES/FooProvider$n.class $JARD
  69       if [ $n = 3 ]; then
  70         cp $TESTCLASSES/FooService.class $JARD
  71       fi
  72       (cd $JARD; "$JAR" ${TESTTOOLVMOPTS} -cf ../p$n.jar *)
  73     done
  74 
  75     mv p3.jar $EXTD
  76 
  77     cp $TESTCLASSES/Load.class $TESTD
  78     cp $TESTCLASSES/FooService.class $TESTD
  79     cp $TESTCLASSES/FooProvider1.class $TESTD
  80     mkdir -p $TESTD/META-INF/services
  81     echo FooProvider1 \
  82       >$TESTD/META-INF/services/FooService
  83 
  84     # This gives us:
  85     #   $TESTD: FooProvider1
  86     #   .     : FooProvider2, in p2.jar
  87     #   $EXTD:  FooProvider3, in p3.jar
  88 
  89 fi
  90 
  91 failures=0
  92