You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/11/12 15:39:12 UTC
[1/2] incubator-brooklyn git commit: DynamicSequentialTaskTest: don’t wait forever
Repository: incubator-brooklyn
Updated Branches:
refs/heads/master 443ed5e8d -> 94605444c
DynamicSequentialTaskTest: don’t wait forever
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/d02d4fcf
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/d02d4fcf
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/d02d4fcf
Branch: refs/heads/master
Commit: d02d4fcfd566ec9e3733865d438a89ba580e1eb5
Parents: 78df97a
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 13:38:15 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:00:05 2015 +0000
----------------------------------------------------------------------
.../core/task/DynamicSequentialTaskTest.java | 41 +++++++++++++-------
1 file changed, 27 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/d02d4fcf/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java b/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
index f56852f..ceff29f 100644
--- a/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
+++ b/core/src/test/java/org/apache/brooklyn/util/core/task/DynamicSequentialTaskTest.java
@@ -24,22 +24,18 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.Semaphore;
import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
import org.apache.brooklyn.api.mgmt.HasTaskChildren;
import org.apache.brooklyn.api.mgmt.Task;
import org.apache.brooklyn.test.Asserts;
+import org.apache.brooklyn.util.collections.CollectionFunctionals;
import org.apache.brooklyn.util.collections.MutableList;
import org.apache.brooklyn.util.collections.MutableMap;
-import org.apache.brooklyn.util.core.task.BasicExecutionContext;
-import org.apache.brooklyn.util.core.task.BasicExecutionManager;
-import org.apache.brooklyn.util.core.task.DynamicSequentialTask;
-import org.apache.brooklyn.util.core.task.DynamicTasks;
-import org.apache.brooklyn.util.core.task.TaskTags;
-import org.apache.brooklyn.util.core.task.Tasks;
import org.apache.brooklyn.util.exceptions.Exceptions;
+import org.apache.brooklyn.util.math.MathPredicates;
import org.apache.brooklyn.util.time.CountdownTimer;
import org.apache.brooklyn.util.time.Duration;
import org.apache.brooklyn.util.time.Time;
@@ -50,6 +46,8 @@ import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
import com.google.common.base.Stopwatch;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -89,7 +87,7 @@ public class DynamicSequentialTaskTest {
}
@Test
- public void testSimple() throws InterruptedException, ExecutionException {
+ public void testSimple() throws Exception {
Callable<String> mainJob = new Callable<String>() {
public String call() {
log.info("main job - "+Tasks.current());
@@ -160,7 +158,7 @@ public class DynamicSequentialTaskTest {
}
@Test
- public void testComplex() throws InterruptedException, ExecutionException {
+ public void testComplex() throws Exception {
Task<List<?>> t = Tasks.sequential(
sayTask("1"),
sayTask("2"),
@@ -174,16 +172,14 @@ public class DynamicSequentialTaskTest {
}
@Test
- public void testCancelled() throws InterruptedException, ExecutionException {
+ public void testCancelled() throws Exception {
Task<List<?>> t = Tasks.sequential(
sayTask("1"),
sayTask("2a", Duration.THIRTY_SECONDS, "2b"),
sayTask("3"));
ec.submit(t);
- synchronized (messages) {
- while (messages.size() <= 1)
- messages.wait();
- }
+
+ waitForMessages(Predicates.compose(MathPredicates.greaterThanOrEqual(2), CollectionFunctionals.sizeFunction()), TIMEOUT);
Assert.assertEquals(messages, Arrays.asList("1", "2a"));
Time.sleep(Duration.millis(50));
t.cancel(true);
@@ -212,6 +208,23 @@ public class DynamicSequentialTaskTest {
Assert.assertEquals(cancellations.availablePermits(), 0);
}
+ protected void waitForMessages(Predicate<? super List<String>> predicate, Duration timeout) throws Exception {
+ long endtime = System.currentTimeMillis() + timeout.toMilliseconds();
+ synchronized (messages) {
+ while (true) {
+ if (predicate.apply(messages)) {
+ return;
+ }
+ long waittime = endtime - System.currentTimeMillis();
+ if (waittime > 0) {
+ messages.wait(waittime);
+ } else {
+ throw new TimeoutException("Timeout after "+timeout+"; messages="+messages+"; predicate="+predicate);
+ }
+ }
+ }
+ }
+
protected Task<String> monitorableTask(final String id) {
return monitorableTask(null, id, null);
}
[2/2] incubator-brooklyn git commit: This closes #1021
Posted by al...@apache.org.
This closes #1021
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/94605444
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/94605444
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/94605444
Branch: refs/heads/master
Commit: 94605444ce0d0cf1fb7141732b1025ff3da8c48c
Parents: 443ed5e d02d4fc
Author: Aled Sage <al...@gmail.com>
Authored: Thu Nov 12 14:39:00 2015 +0000
Committer: Aled Sage <al...@gmail.com>
Committed: Thu Nov 12 14:39:00 2015 +0000
----------------------------------------------------------------------
.../core/task/DynamicSequentialTaskTest.java | 41 +++++++++++++-------
1 file changed, 27 insertions(+), 14 deletions(-)
----------------------------------------------------------------------