ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/test/tck/ForkJoinPoolTest.java
(Generate patch)

Comparing jsr166/src/test/tck/ForkJoinPoolTest.java (file contents):
Revision 1.8 by jsr166, Tue Aug 4 21:10:19 2009 UTC vs.
Revision 1.9 by jsr166, Wed Aug 5 00:49:40 2009 UTC

# Line 699 | Line 699 | public class ForkJoinPoolTest extends JS
699      }
700  
701      /**
702 <     * invokeAny(c) throws NullPointerException if c has null elements
702 >     * invokeAny(c) throws NullPointerException if c has a single null element
703       */
704      public void testInvokeAny3() throws Throwable {
705          ExecutorService e = new ForkJoinPool(1);
706          try {
707              ArrayList<Callable<String>> l = new ArrayList<Callable<String>>();
708            l.add(new StringTask());
708              l.add(null);
709              e.invokeAny(l);
710              shouldThrow();
# Line 716 | Line 715 | public class ForkJoinPoolTest extends JS
715      }
716  
717      /**
718 <     * invokeAny(c) throws ExecutionException if no task in c completes
718 >     * invokeAny(c) throws NullPointerException if c has null elements
719       */
720      public void testInvokeAny4() throws Throwable {
721          ExecutorService e = new ForkJoinPool(1);
722          try {
723              ArrayList<Callable<String>> l = new ArrayList<Callable<String>>();
724 +            l.add(new Callable<String>() {
725 +                public String call() {
726 +                    // The delay gives the pool a chance to notice
727 +                    // the null element.
728 +                    sleepTillInterrupted(SMALL_DELAY_MS);
729 +                    return "foo";
730 +                }});
731 +            l.add(null);
732 +            e.invokeAny(l);
733 +            shouldThrow();
734 +        } catch (NullPointerException success) {
735 +        } finally {
736 +            joinPool(e);
737 +        }
738 +    }
739 +
740 +    /**
741 +     * invokeAny(c) throws ExecutionException if no task in c completes
742 +     */
743 +    public void testInvokeAny5() throws Throwable {
744 +        ExecutorService e = new ForkJoinPool(1);
745 +        try {
746 +            ArrayList<Callable<String>> l = new ArrayList<Callable<String>>();
747              l.add(new NPETask());
748              e.invokeAny(l);
749              shouldThrow();
# Line 734 | Line 756 | public class ForkJoinPoolTest extends JS
756      /**
757       * invokeAny(c) returns result of some task in c if at least one completes
758       */
759 <    public void testInvokeAny5() throws Throwable {
759 >    public void testInvokeAny6() throws Throwable {
760          ExecutorService e = new ForkJoinPool(1);
761          try {
762              ArrayList<Callable<String>> l = new ArrayList<Callable<String>>();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines