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

Comparing jsr166/src/test/tck/ExecutorsTest.java (file contents):
Revision 1.13 by dl, Mon Jan 19 15:49:02 2004 UTC vs.
Revision 1.14 by dl, Tue Jan 20 20:20:56 2004 UTC

# Line 69 | Line 69 | public class ExecutorsTest extends JSR16
69          e.execute(new NoOpRunnable());
70          e.execute(new NoOpRunnable());
71          e.execute(new NoOpRunnable());
72 <        e.shutdown();
72 >        joinPool(e);
73      }
74  
75      /**
# Line 80 | Line 80 | public class ExecutorsTest extends JSR16
80          e.execute(new NoOpRunnable());
81          e.execute(new NoOpRunnable());
82          e.execute(new NoOpRunnable());
83 <        e.shutdown();
83 >        joinPool(e);
84      }
85  
86      /**
# Line 104 | Line 104 | public class ExecutorsTest extends JSR16
104          e.execute(new NoOpRunnable());
105          e.execute(new NoOpRunnable());
106          e.execute(new NoOpRunnable());
107 <        e.shutdown();
107 >        joinPool(e);
108      }
109  
110      /**
# Line 115 | Line 115 | public class ExecutorsTest extends JSR16
115          e.execute(new NoOpRunnable());
116          e.execute(new NoOpRunnable());
117          e.execute(new NoOpRunnable());
118 <        e.shutdown();
118 >        joinPool(e);
119      }
120  
121      /**
# Line 152 | Line 152 | public class ExecutorsTest extends JSR16
152          e.execute(new NoOpRunnable());
153          e.execute(new NoOpRunnable());
154          e.execute(new NoOpRunnable());
155 <        e.shutdown();
155 >        joinPool(e);
156      }
157  
158      /**
# Line 163 | Line 163 | public class ExecutorsTest extends JSR16
163          e.execute(new NoOpRunnable());
164          e.execute(new NoOpRunnable());
165          e.execute(new NoOpRunnable());
166 <        e.shutdown();
166 >        joinPool(e);
167      }
168  
169      /**
# Line 199 | Line 199 | public class ExecutorsTest extends JSR16
199          e.execute(new NoOpRunnable());
200          e.execute(new NoOpRunnable());
201          e.execute(new NoOpRunnable());
202 <        e.shutdown();
202 >        joinPool(e);
203      }
204  
205      /**
# Line 237 | Line 237 | public class ExecutorsTest extends JSR16
237              Thread.sleep(MEDIUM_DELAY_MS);
238              assertTrue(callable.done);
239              assertEquals(Boolean.TRUE, f.get());
240            p1.shutdown();
240              joinPool(p1);
241          } catch(RejectedExecutionException e){}
242          catch(Exception e){
# Line 258 | Line 257 | public class ExecutorsTest extends JSR16
257              Thread.sleep(MEDIUM_DELAY_MS);
258              assertTrue(callable.done);
259              assertEquals(Boolean.TRUE, f.get());
261            p1.shutdown();
260              joinPool(p1);
261          } catch(RejectedExecutionException e){}
262          catch(Exception e){
# Line 279 | Line 277 | public class ExecutorsTest extends JSR16
277              Thread.sleep(MEDIUM_DELAY_MS);
278              assertTrue(callable.done);
279              assertEquals(Boolean.TRUE, f.get());
282            p1.shutdown();
280              joinPool(p1);
281          } catch(RejectedExecutionException e){}
282          catch(Exception e){
# Line 357 | Line 354 | public class ExecutorsTest extends JSR16
354          ExecutorService e = Executors.newSingleThreadExecutor(Executors.defaultThreadFactory());
355          
356          e.execute(r);
357 <        e.shutdown();
357 >        try {
358 >            e.shutdown();
359 >        } catch(SecurityException ok) {
360 >        }
361 >        
362          try {
363              Thread.sleep(SHORT_DELAY_MS);
364          } catch (Exception eX) {
# Line 373 | Line 374 | public class ExecutorsTest extends JSR16
374       * access control context and context class loader
375       */
376      public void testPrivilegedThreadFactory() {
377 <        Policy savedPolicy = Policy.getPolicy();
378 <        AdjustablePolicy policy = new AdjustablePolicy();
379 <        policy.addPermission(new RuntimePermission("getContextClassLoader"));
380 <        policy.addPermission(new RuntimePermission("setContextClassLoader"));
381 <        Policy.setPolicy(policy);
377 >        Policy savedPolicy = null;
378 >        try {
379 >            savedPolicy = Policy.getPolicy();
380 >            AdjustablePolicy policy = new AdjustablePolicy();
381 >            policy.addPermission(new RuntimePermission("getContextClassLoader"));
382 >            policy.addPermission(new RuntimePermission("setContextClassLoader"));
383 >            Policy.setPolicy(policy);
384 >        } catch (AccessControlException ok) {
385 >            return;
386 >        }
387          final ThreadGroup egroup = Thread.currentThread().getThreadGroup();
388          final ClassLoader thisccl = Thread.currentThread().getContextClassLoader();
389          final AccessControlContext thisacc = AccessController.getContext();
# Line 400 | Line 406 | public class ExecutorsTest extends JSR16
406                      } catch(SecurityException ok) {
407                          // Also pass if not allowed to change settings
408                      }
409 +                }
410              };
411          ExecutorService e = Executors.newSingleThreadExecutor(Executors.privilegedThreadFactory());
412          
413          Policy.setPolicy(savedPolicy);
414          e.execute(r);
415 <        e.shutdown();
415 >        try {
416 >            e.shutdown();
417 >        } catch(SecurityException ok) {
418 >        }
419          try {
420              Thread.sleep(SHORT_DELAY_MS);
421          } catch (Exception ex) {
# Line 430 | Line 440 | public class ExecutorsTest extends JSR16
440       * privilegedCallableUsingCurrentClassLoader throws ACE
441       */
442      public void testCreatePrivilegedCallableUsingCCLWithNoPrivs() {
443 <        Policy savedPolicy = Policy.getPolicy();
444 <        AdjustablePolicy policy = new AdjustablePolicy();
445 <        Policy.setPolicy(policy);
443 >        Policy savedPolicy = null;
444 >        try {
445 >            savedPolicy = Policy.getPolicy();
446 >            AdjustablePolicy policy = new AdjustablePolicy();
447 >            Policy.setPolicy(policy);
448 >        } catch (AccessControlException ok) {
449 >            return;
450 >        }
451 >
452          try {
453              Callable task = Executors.privilegedCallableUsingCurrentClassLoader(new NoOpCallable());
454              shouldThrow();
# Line 450 | Line 466 | public class ExecutorsTest extends JSR16
466       * privilegedCallableUsingCurrentClassLoader throws ACE
467       */
468      public void testprivilegedCallableUsingCCLWithPrivs() {
469 <        Policy savedPolicy = Policy.getPolicy();
470 <        AdjustablePolicy policy = new AdjustablePolicy();
471 <        policy.addPermission(new RuntimePermission("getContextClassLoader"));
472 <        policy.addPermission(new RuntimePermission("setContextClassLoader"));
473 <        Policy.setPolicy(policy);
469 >        Policy savedPolicy = null;
470 >        try {
471 >            savedPolicy = Policy.getPolicy();
472 >            AdjustablePolicy policy = new AdjustablePolicy();
473 >            policy.addPermission(new RuntimePermission("getContextClassLoader"));
474 >            policy.addPermission(new RuntimePermission("setContextClassLoader"));
475 >            Policy.setPolicy(policy);
476 >        } catch (AccessControlException ok) {
477 >            return;
478 >        }
479 >            
480          try {
481              Callable task = Executors.privilegedCallableUsingCurrentClassLoader(new NoOpCallable());
482              task.call();
# Line 470 | Line 492 | public class ExecutorsTest extends JSR16
492       * Without permissions, calling privilegedCallable throws ACE
493       */
494      public void testprivilegedCallableWithNoPrivs() {
495 <        Policy savedPolicy = Policy.getPolicy();
496 <        AdjustablePolicy policy = new AdjustablePolicy();
497 <        Policy.setPolicy(policy);
495 >        Policy savedPolicy = null;
496 >        try {
497 >            savedPolicy = Policy.getPolicy();
498 >            AdjustablePolicy policy = new AdjustablePolicy();
499 >            Policy.setPolicy(policy);
500 >        } catch (AccessControlException ok) {
501 >            return;
502 >        }
503 >
504          Callable task = Executors.privilegedCallable(new CheckCCL());
505          Policy.setPolicy(savedPolicy);
506          try {
# Line 489 | Line 517 | public class ExecutorsTest extends JSR16
517       * With permissions, calling privilegedCallable succeeds
518       */
519      public void testprivilegedCallableWithPrivs() {
520 <        Policy savedPolicy = Policy.getPolicy();
521 <        AdjustablePolicy policy = new AdjustablePolicy();
522 <        policy.addPermission(new RuntimePermission("getContextClassLoader"));
523 <        policy.addPermission(new RuntimePermission("setContextClassLoader"));
524 <        Policy.setPolicy(policy);
520 >        Policy savedPolicy = null;
521 >        try {
522 >            savedPolicy = Policy.getPolicy();
523 >            AdjustablePolicy policy = new AdjustablePolicy();
524 >            policy.addPermission(new RuntimePermission("getContextClassLoader"));
525 >            policy.addPermission(new RuntimePermission("setContextClassLoader"));
526 >            Policy.setPolicy(policy);
527 >        } catch (AccessControlException ok) {
528 >            return;
529 >        }
530 >            
531          Callable task = Executors.privilegedCallable(new CheckCCL());
532          try {
533              task.call();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines