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 |