You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by wj...@apache.org on 2007/10/26 15:53:08 UTC
svn commit: r588645 - in
/harmony/enhanced/drlvm/trunk/src/test/regression/H3582: ./ Test.java
Author: wjwashburn
Date: Fri Oct 26 06:53:07 2007
New Revision: 588645
URL: http://svn.apache.org/viewvc?rev=588645&view=rev
Log:
H3582 -- added a regression test for a shutdown bug that was fixed a while ago
Added:
harmony/enhanced/drlvm/trunk/src/test/regression/H3582/
harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java (with props)
Added: harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java?rev=588645&view=auto
==============================================================================
--- harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java (added)
+++ harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java Fri Oct 26 06:53:07 2007
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+package org.apache.harmony.drlvm.tests.regression.h3582;
+import junit.framework.*;
+
+public class Test extends TestCase {
+ public static void main(String[] args) {
+ (new Test()).test();
+ }
+
+ public void test() {
+ try {
+ (new MegaJoin()).test();
+ } catch (Throwable e) {
+ e.printStackTrace();
+ fail();
+ }
+ }
+}
+
+class MegaJoin implements Runnable {
+ static int number_of_bosses = 10;
+ static int worker_threads_per_boss = 1000;
+ static int number_of_workers_created = 0;
+
+ public static void main(String[] args) {
+ (new Test()).test();
+ }
+
+ public void test() throws InterruptedException {
+ Thread[] boss_threads = new Thread[number_of_bosses];
+ int ii = 0;
+ for (ii = 0; ii < boss_threads.length; ii++) {
+ boss_threads[ii] = new Thread(new MegaJoin());
+ System.out.println("H3582: " + boss_threads[ii]);
+ boss_threads[ii].start();
+ }
+
+ for (ii = 0; ii < boss_threads.length; ii++) {
+ try {
+ boss_threads[ii].join();
+ System.out.println("H3582: " + boss_threads[ii]
+ + " - finished!");
+ } catch (InterruptedException e) {
+ throw e;
+ }
+ }
+ System.out.println("H3582: PASSED!");
+ }
+
+ public void run() {
+ Thread [] wta = new Thread[worker_threads_per_boss];
+ for (int ii = 0; ii < wta.length; ii++) {
+ wta[ii] = new Thread() {
+ public void run () {
+ //intentionally empty, only testing thread join
+ }
+ };
+ wta[ii].start();
+ }
+
+ for (int ii = 0; ii < wta.length; ii++) {
+ try {
+ wta[ii].join();
+ }
+ catch (InterruptedException e) {
+ System.out.println("Working thread exeption:");
+ e.printStackTrace();
+ }
+ }
+ }
+}
Propchange: harmony/enhanced/drlvm/trunk/src/test/regression/H3582/Test.java
------------------------------------------------------------------------------
svn:eol-style = native