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

Comparing jsr166/src/test/tck/ScheduledExecutorTest.java (file contents):
Revision 1.21 by dl, Thu Jan 22 15:17:35 2004 UTC vs.
Revision 1.22 by jsr166, Mon Nov 2 20:28:32 2009 UTC

# Line 2 | Line 2
2   * Written by Doug Lea with assistance from members of JCP JSR-166
3   * Expert Group and released to the public domain, as explained at
4   * http://creativecommons.org/licenses/publicdomain
5 < * Other contributors include Andrew Wright, Jeffrey Hayes,
6 < * Pat Fisher, Mike Judd.
5 > * Other contributors include Andrew Wright, Jeffrey Hayes,
6 > * Pat Fisher, Mike Judd.
7   */
8  
9   import junit.framework.*;
# Line 13 | Line 13 | import java.util.concurrent.atomic.*;
13  
14   public class ScheduledExecutorTest extends JSR166TestCase {
15      public static void main(String[] args) {
16 <        junit.textui.TestRunner.run (suite());  
16 >        junit.textui.TestRunner.run (suite());
17      }
18      public static Test suite() {
19          return new TestSuite(ScheduledExecutorTest.class);
# Line 43 | Line 43 | public class ScheduledExecutorTest exten
43          catch(Exception e){
44              unexpectedException();
45          }
46 <        
46 >
47      }
48  
49  
# Line 86 | Line 86 | public class ScheduledExecutorTest exten
86              unexpectedException();
87          }
88      }
89 <    
89 >
90      /**
91       * scheduleAtFixedRate executes runnable after given initial delay
92       */
# Line 127 | Line 127 | public class ScheduledExecutorTest exten
127              unexpectedException();
128          }
129      }
130 <    
130 >
131      /**
132       * scheduleAtFixedRate executes series of tasks at given rate
133       */
# Line 135 | Line 135 | public class ScheduledExecutorTest exten
135          try {
136              ScheduledThreadPoolExecutor p1 = new ScheduledThreadPoolExecutor(1);
137              RunnableCounter counter = new RunnableCounter();
138 <            ScheduledFuture h =
138 >            ScheduledFuture h =
139                  p1.scheduleAtFixedRate(counter, 0, 1, TimeUnit.MILLISECONDS);
140              Thread.sleep(SMALL_DELAY_MS);
141              h.cancel(true);
# Line 157 | Line 157 | public class ScheduledExecutorTest exten
157          try {
158              ScheduledThreadPoolExecutor p1 = new ScheduledThreadPoolExecutor(1);
159              RunnableCounter counter = new RunnableCounter();
160 <            ScheduledFuture h =
160 >            ScheduledFuture h =
161                  p1.scheduleWithFixedDelay(counter, 0, 1, TimeUnit.MILLISECONDS);
162              Thread.sleep(SMALL_DELAY_MS);
163              h.cancel(true);
# Line 184 | Line 184 | public class ScheduledExecutorTest exten
184          catch(Exception e){
185              unexpectedException();
186          }
187 <        
187 >
188          joinPool(se);
189      }
190  
# Line 203 | Line 203 | public class ScheduledExecutorTest exten
203          }
204          joinPool(se);
205      }
206 <  
206 >
207      /**
208       * execute throws RejectedExecutionException if shutdown
209       */
# Line 217 | Line 217 | public class ScheduledExecutorTest exten
217          } catch(RejectedExecutionException success){
218          } catch (SecurityException ok) {
219          }
220 <        
220 >
221          joinPool(se);
222  
223      }
# Line 266 | Line 266 | public class ScheduledExecutorTest exten
266              shouldThrow();
267          } catch(RejectedExecutionException success){
268          } catch (SecurityException ok) {
269 <        }
269 >        }
270          joinPool(se);
271      }
272 <    
272 >
273      /**
274       * scheduleWithFixedDelay throws RejectedExecutionException if shutdown
275       */
# Line 282 | Line 282 | public class ScheduledExecutorTest exten
282              shouldThrow();
283          } catch(RejectedExecutionException success){
284          } catch (SecurityException ok) {
285 <        }
285 >        }
286          joinPool(se);
287      }
288  
# Line 302 | Line 302 | public class ScheduledExecutorTest exten
302          assertEquals(1, p2.getActiveCount());
303          joinPool(p2);
304      }
305 <    
305 >
306      /**
307       *    getCompletedTaskCount increases, but doesn't overestimate,
308       *   when tasks complete
# Line 319 | Line 319 | public class ScheduledExecutorTest exten
319          assertEquals(1, p2.getCompletedTaskCount());
320          joinPool(p2);
321      }
322 <    
322 >
323      /**
324 <     *  getCorePoolSize returns size given in constructor if not otherwise set
324 >     *  getCorePoolSize returns size given in constructor if not otherwise set
325       */
326      public void testGetCorePoolSize() {
327          ScheduledThreadPoolExecutor p1 = new ScheduledThreadPoolExecutor(1);
328          assertEquals(1, p1.getCorePoolSize());
329          joinPool(p1);
330      }
331 <    
331 >
332      /**
333       *    getLargestPoolSize increases, but doesn't overestimate, when
334       *   multiple threads active
# Line 346 | Line 346 | public class ScheduledExecutorTest exten
346          assertEquals(2, p2.getLargestPoolSize());
347          joinPool(p2);
348      }
349 <    
349 >
350      /**
351       *   getPoolSize increases, but doesn't overestimate, when threads
352       *   become active
# Line 358 | Line 358 | public class ScheduledExecutorTest exten
358          assertEquals(1, p1.getPoolSize());
359          joinPool(p1);
360      }
361 <    
361 >
362      /**
363       *    getTaskCount increases, but doesn't overestimate, when tasks
364       *    submitted
# Line 377 | Line 377 | public class ScheduledExecutorTest exten
377          joinPool(p1);
378      }
379  
380 <    /**
380 >    /**
381       * getThreadFactory returns factory in constructor if not set
382       */
383      public void testGetThreadFactory() {
# Line 387 | Line 387 | public class ScheduledExecutorTest exten
387          joinPool(p);
388      }
389  
390 <    /**
390 >    /**
391       * setThreadFactory sets the thread factory returned by getThreadFactory
392       */
393      public void testSetThreadFactory() {
# Line 398 | Line 398 | public class ScheduledExecutorTest exten
398          joinPool(p);
399      }
400  
401 <    /**
401 >    /**
402       * setThreadFactory(null) throws NPE
403       */
404      public void testSetThreadFactoryNull() {
# Line 411 | Line 411 | public class ScheduledExecutorTest exten
411              joinPool(p);
412          }
413      }
414 <    
414 >
415      /**
416       *   is isShutDown is false before shutdown, true after
417       */
418      public void testIsShutdown() {
419 <        
419 >
420          ScheduledThreadPoolExecutor p1 = new ScheduledThreadPoolExecutor(1);
421          try {
422              assertFalse(p1.isShutdown());
# Line 427 | Line 427 | public class ScheduledExecutorTest exten
427          assertTrue(p1.isShutdown());
428      }
429  
430 <        
430 >
431      /**
432       *   isTerminated is false before termination, true after
433       */
# Line 443 | Line 443 | public class ScheduledExecutorTest exten
443              assertTrue(p1.isTerminated());
444          } catch(Exception e){
445              unexpectedException();
446 <        }      
446 >        }
447      }
448  
449      /**
# Line 464 | Line 464 | public class ScheduledExecutorTest exten
464              assertFalse(p1.isTerminating());
465          } catch(Exception e){
466              unexpectedException();
467 <        }      
467 >        }
468      }
469  
470      /**
# Line 557 | Line 557 | public class ScheduledExecutorTest exten
557          List l;
558          try {
559              l = p1.shutdownNow();
560 <        } catch (SecurityException ok) {
560 >        } catch (SecurityException ok) {
561              return;
562          }
563          assertTrue(p1.isShutdown());
# Line 590 | Line 590 | public class ScheduledExecutorTest exten
590                  assertTrue(tasks[i].isDone());
591                  assertFalse(tasks[i].isCancelled());
592              }
593 <            
593 >
594          }
595          catch(Exception ex) {
596              unexpectedException();
# Line 669 | Line 669 | public class ScheduledExecutorTest exten
669          catch(Exception ex) {
670              unexpectedException();
671          }
672 <        finally {
672 >        finally {
673              joinPool(p1);
674          }
675      }
# Line 876 | Line 876 | public class ScheduledExecutorTest exten
876              l.add(new NPETask());
877              List<Future<String>> result = e.invokeAll(l);
878              assertEquals(1, result.size());
879 <            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
879 >            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
880                  it.next().get();
881          } catch(ExecutionException success) {
882          } catch(Exception ex) {
# Line 897 | Line 897 | public class ScheduledExecutorTest exten
897              l.add(new StringTask());
898              List<Future<String>> result = e.invokeAll(l);
899              assertEquals(2, result.size());
900 <            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
900 >            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
901                  assertSame(TEST_STRING, it.next().get());
902          } catch (ExecutionException success) {
903          } catch(Exception ex) {
# Line 1084 | Line 1084 | public class ScheduledExecutorTest exten
1084              l.add(new NPETask());
1085              List<Future<String>> result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
1086              assertEquals(1, result.size());
1087 <            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
1087 >            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
1088                  it.next().get();
1089          } catch(ExecutionException success) {
1090          } catch(Exception ex) {
# Line 1105 | Line 1105 | public class ScheduledExecutorTest exten
1105              l.add(new StringTask());
1106              List<Future<String>> result = e.invokeAll(l, MEDIUM_DELAY_MS, TimeUnit.MILLISECONDS);
1107              assertEquals(2, result.size());
1108 <            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
1108 >            for (Iterator<Future<String>> it = result.iterator(); it.hasNext();)
1109                  assertSame(TEST_STRING, it.next().get());
1110          } catch (ExecutionException success) {
1111          } catch(Exception ex) {
# Line 1127 | Line 1127 | public class ScheduledExecutorTest exten
1127              l.add(new StringTask());
1128              List<Future<String>> result = e.invokeAll(l, SHORT_DELAY_MS, TimeUnit.MILLISECONDS);
1129              assertEquals(3, result.size());
1130 <            Iterator<Future<String>> it = result.iterator();
1130 >            Iterator<Future<String>> it = result.iterator();
1131              Future<String> f1 = it.next();
1132              Future<String> f2 = it.next();
1133              Future<String> f3 = it.next();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines