blob: 52556bfd987f268652824f6cd0d82d73d3b0bed3 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001/*
2 * Copyright 2003 Sun Microsystems, Inc. All Rights Reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
20 * CA 95054 USA or visit www.sun.com if you need additional information or
21 * have any questions.
22 */
23
24/*
25 * @test
26 * @bug 4481072
27 * @summary Basic test for purge method
28 */
29
30import java.util.*;
31
32public class Purge {
33 public static void main (String[] args) {
34 Random rnd = new Random();
35 Timer timer = new Timer();
36 int cancelled = 0;
37 for (long i = 1; i <= 1000; i++) {
38 TimerTask task = new TimerTask() {
39 public void run() {
40 System.out.println("How come no one ever calls me?");
41 }
42 };
43 timer.schedule(task, i * 60*60*1000); // i hrs. hence.
44 if (i != 1 && rnd.nextBoolean()) {
45 task.cancel();
46 cancelled++;
47 }
48 }
49 int purged = timer.purge();
50 if (purged != cancelled)
51 throw new RuntimeException(purged + " != " + cancelled);
52 purged = timer.purge();
53 if (purged != 0)
54 throw new RuntimeException(purged + " nonzero");
55 timer.cancel();
56 }
57}