diff options
Diffstat (limited to 'bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java')
-rw-r--r-- | bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java index 9216773f2..8993b5a1f 100644 --- a/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java +++ b/bundles/org.eclipse.osgi.tests/src/org/eclipse/osgi/tests/bundles/TestResults.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 IBM Corporation and others. + * Copyright (c) 2006, 2011 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,14 +11,17 @@ package org.eclipse.osgi.tests.bundles; import java.util.ArrayList; + public class TestResults { ArrayList events = new ArrayList(); - + synchronized public void addEvent(Object event) { events.add(event); notifyAll(); } + synchronized public Object[] getResults(int expectedResultsNumber) { + long initialTime = System.currentTimeMillis(); while (events.size() < expectedResultsNumber) { int currentSize = events.size(); try { @@ -26,7 +29,7 @@ public class TestResults { } catch (InterruptedException e) { // do nothing } - if (currentSize == events.size()) + if (currentSize == events.size() && (System.currentTimeMillis() - initialTime) >= 5000) break; // no new events occurred; break out } Object[] result = events.toArray(); |