< prev index next >

test/java/util/ServiceLoader/basic/basic.sh

Print this page




  59 TESTD=x.test
  60 P3JAR=${EXTD}${FS}p3.jar
  61 
  62 if [ \! -d $EXTD ]; then
  63     # Initialize
  64     echo Initializing...
  65     rm -rf $JARD $EXTD $TESTD
  66     mkdir -p $JARD $EXTD $TESTD
  67 
  68     for n in 2 3; do
  69       rm -rf $JARD/*; mkdir -p $JARD/META-INF/services
  70       echo FooProvider$n \
  71         >$JARD/META-INF/services/FooService
  72       cp $TESTCLASSES/FooProvider$n.class $JARD
  73       if [ $n = 3 ]; then
  74         cp $TESTCLASSES/FooService.class $JARD
  75       fi
  76       (cd $JARD; "$JAR" ${TESTTOOLVMOPTS} -cf ../p$n.jar *)
  77     done
  78 

  79     mv p3.jar $EXTD
  80 
  81     cp $TESTCLASSES/Load.class $TESTD
  82     cp $TESTCLASSES/FooService.class $TESTD
  83     cp $TESTCLASSES/FooProvider1.class $TESTD
  84     mkdir -p $TESTD/META-INF/services
  85     echo FooProvider1 \
  86       >$TESTD/META-INF/services/FooService
  87 
  88     # This gives us:
  89     #   $TESTD: FooProvider1
  90     #   .     : FooProvider2, in p2.jar
  91     #   $EXTD:  FooProvider3, in p3.jar
  92 
  93 fi
  94 
  95 failures=0
  96 
  97 go() {
  98   echo ''


 100   if [ -z "$cp" ]; then cp="$TESTCLASSES"; else cp="$TESTCLASSES$SEP$cp"; fi
 101   vmargs="$1"; shift
 102   sh -xc "'$JAVA' ${TESTVMOPTS} -cp $cp $vmargs $T $*" 2>&1
 103   if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
 104 }
 105 
 106 
 107 # Java-level tests
 108 
 109 T=Basic
 110 go ".${SEP}$TESTD${SEP}p2.jar" ""
 111 
 112 # Success cases
 113 
 114 T=Load
 115 
 116 go "$TESTD" "" FooProvider1
 117 
 118 go ".${SEP}p2.jar" "" FooProvider2
 119 


 120 go "${P3JAR}${SEP}p2.jar" "" FooProvider3 FooProvider2
 121 
 122 go "$TESTD${SEP}p2.jar" "" FooProvider1 FooProvider2
 123 
 124 go "${P3JAR}${SEP}$TESTD" "" FooProvider3 FooProvider1
 125 
 126 go "${P3JAR}${SEP}$TESTD${SEP}p2.jar" "" \
 127   FooProvider3 FooProvider1 FooProvider2
 128 
 129 # Failure cases
 130 
 131 mkdir -p x.meta/META-INF/services
 132 
 133 # Simple failures
 134 for p in FooProvider42 'blah blah' 9234 'X!' BarProvider; do
 135   echo $p >x.meta/META-INF/services/FooService
 136   go ".${SEP}x.meta" "" fail
 137 done
 138 
 139 # Failures followed by successes


  59 TESTD=x.test
  60 P3JAR=${EXTD}${FS}p3.jar
  61 
  62 if [ \! -d $EXTD ]; then
  63     # Initialize
  64     echo Initializing...
  65     rm -rf $JARD $EXTD $TESTD
  66     mkdir -p $JARD $EXTD $TESTD
  67 
  68     for n in 2 3; do
  69       rm -rf $JARD/*; mkdir -p $JARD/META-INF/services
  70       echo FooProvider$n \
  71         >$JARD/META-INF/services/FooService
  72       cp $TESTCLASSES/FooProvider$n.class $JARD
  73       if [ $n = 3 ]; then
  74         cp $TESTCLASSES/FooService.class $JARD
  75       fi
  76       (cd $JARD; "$JAR" ${TESTTOOLVMOPTS} -cf ../p$n.jar *)
  77     done
  78 
  79     cp p2.jar p2dup.jar
  80     mv p3.jar $EXTD
  81 
  82     cp $TESTCLASSES/Load.class $TESTD
  83     cp $TESTCLASSES/FooService.class $TESTD
  84     cp $TESTCLASSES/FooProvider1.class $TESTD
  85     mkdir -p $TESTD/META-INF/services
  86     echo FooProvider1 \
  87       >$TESTD/META-INF/services/FooService
  88 
  89     # This gives us:
  90     #   $TESTD: FooProvider1
  91     #   .     : FooProvider2, in p2.jar
  92     #   $EXTD:  FooProvider3, in p3.jar
  93 
  94 fi
  95 
  96 failures=0
  97 
  98 go() {
  99   echo ''


 101   if [ -z "$cp" ]; then cp="$TESTCLASSES"; else cp="$TESTCLASSES$SEP$cp"; fi
 102   vmargs="$1"; shift
 103   sh -xc "'$JAVA' ${TESTVMOPTS} -cp $cp $vmargs $T $*" 2>&1
 104   if [ $? != 0 ]; then failures=`expr $failures + 1`; fi
 105 }
 106 
 107 
 108 # Java-level tests
 109 
 110 T=Basic
 111 go ".${SEP}$TESTD${SEP}p2.jar" ""
 112 
 113 # Success cases
 114 
 115 T=Load
 116 
 117 go "$TESTD" "" FooProvider1
 118 
 119 go ".${SEP}p2.jar" "" FooProvider2
 120 
 121 go ".${SEP}p2.jar${SEP}p2dup.jar" "" FooProvider2
 122 
 123 go "${P3JAR}${SEP}p2.jar" "" FooProvider3 FooProvider2
 124 
 125 go "$TESTD${SEP}p2.jar" "" FooProvider1 FooProvider2
 126 
 127 go "${P3JAR}${SEP}$TESTD" "" FooProvider3 FooProvider1
 128 
 129 go "${P3JAR}${SEP}$TESTD${SEP}p2.jar" "" \
 130   FooProvider3 FooProvider1 FooProvider2
 131 
 132 # Failure cases
 133 
 134 mkdir -p x.meta/META-INF/services
 135 
 136 # Simple failures
 137 for p in FooProvider42 'blah blah' 9234 'X!' BarProvider; do
 138   echo $p >x.meta/META-INF/services/FooService
 139   go ".${SEP}x.meta" "" fail
 140 done
 141 
 142 # Failures followed by successes
< prev index next >