You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2017/04/28 13:53:44 UTC

[06/10] brooklyn-server git commit: use iteration limit to make several tests run quicker (not wait 1s)

use iteration limit to make several tests run quicker (not wait 1s)


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/661d92f5
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/661d92f5
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/661d92f5

Branch: refs/heads/master
Commit: 661d92f5692b62e9130ed0f3d79fc6c5597f214d
Parents: bd461ad
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Tue Apr 25 16:10:02 2017 +0100
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Fri Apr 28 14:09:51 2017 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/brooklyn/test/framework/BaseTest.java | 6 ++++++
 .../org/apache/brooklyn/test/framework/TestSensorImpl.java     | 2 +-
 .../apache/brooklyn/test/framework/TestWinrmCommandImpl.java   | 1 +
 .../apache/brooklyn/test/framework/TestWinrmCommandTest.java   | 6 ++++++
 4 files changed, 14 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/661d92f5/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java
----------------------------------------------------------------------
diff --git a/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java b/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java
index 2ae552d..5689b6c 100644
--- a/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java
+++ b/test-framework/src/main/java/org/apache/brooklyn/test/framework/BaseTest.java
@@ -45,6 +45,12 @@ public interface BaseTest extends TargetableTestComponent, Startable {
         Duration.seconds(1));
 
     /**
+     * The max number of iterations to run before throwing an exception.
+     */
+    ConfigKey<Integer> ITERATION_LIMIT = ConfigKeys.newConfigKey(Integer.class, "iterations", "Max iterations to try to get result",
+        Integer.MAX_VALUE);
+
+    /**
      * Max time between checking the assertion (exponential backoff to this limit).
      */
     ConfigKey<Duration> BACKOFF_TO_PERIOD = ConfigKeys.newConfigKey(Duration.class, "backoffToPeriod", 

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/661d92f5/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensorImpl.java
----------------------------------------------------------------------
diff --git a/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensorImpl.java b/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensorImpl.java
index 6dae5ea..9cf5b21 100644
--- a/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensorImpl.java
+++ b/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestSensorImpl.java
@@ -77,7 +77,7 @@ public class TestSensorImpl extends TargetableTestComponentImpl implements TestS
                 }
             };
             TestFrameworkAssertions.checkAssertionsEventually(new AssertionOptions(sensor.get(), supplier)
-                    .timeout(timeout).backoffToPeriod(backoffToPeriod)
+                    .maxAttempts(getConfig(ITERATION_LIMIT)).timeout(timeout).backoffToPeriod(backoffToPeriod)
                     .assertions(assertions).abortConditions(abortConditions));
 
             setUpAndRunState(true, Lifecycle.RUNNING);

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/661d92f5/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestWinrmCommandImpl.java
----------------------------------------------------------------------
diff --git a/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestWinrmCommandImpl.java b/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestWinrmCommandImpl.java
index 3dc2545..f0d5b8b 100644
--- a/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestWinrmCommandImpl.java
+++ b/test-framework/src/main/java/org/apache/brooklyn/test/framework/TestWinrmCommandImpl.java
@@ -107,6 +107,7 @@ public class TestWinrmCommandImpl extends TargetableTestComponentImpl implements
             // See identical comment in `TestSshCommandImpl`.
             ReferenceWithError<Boolean> result = Repeater.create("Running winrm-command tests")
                     .limitTimeTo(timeout)
+                    .limitIterationsTo(getRequiredConfig(ITERATION_LIMIT))
                     .backoffTo((backoffToPeriod != null) ? backoffToPeriod : Duration.millis(500))
                     .until(new Callable<Boolean>() {
                         @Override

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/661d92f5/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestWinrmCommandTest.java
----------------------------------------------------------------------
diff --git a/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestWinrmCommandTest.java b/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestWinrmCommandTest.java
index ff387e5..e5a2c52 100644
--- a/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestWinrmCommandTest.java
+++ b/test-framework/src/test/java/org/apache/brooklyn/test/framework/TestWinrmCommandTest.java
@@ -37,6 +37,7 @@ import java.util.Map;
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.Location;
 import org.apache.brooklyn.api.location.LocationSpec;
+import org.apache.brooklyn.core.entity.Entities;
 import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
 import org.apache.brooklyn.core.test.entity.TestEntity;
 import org.apache.brooklyn.location.winrm.WinRmMachineLocation;
@@ -141,6 +142,7 @@ public class TestWinrmCommandTest extends BrooklynAppUnitTestSupport {
         RecordingWinRmTool.setCustomResponse(cmd, new RecordingWinRmTool.CustomResponse(1, null, null));
         
         TestWinrmCommand test = app.createAndManageChild(EntitySpec.create(TestWinrmCommand.class)
+            .configure(TestWinrmCommand.ITERATION_LIMIT, 1)
             .configure(TARGET_ENTITY, testEntity)
             .configure(COMMAND, cmd));
 
@@ -177,6 +179,7 @@ public class TestWinrmCommandTest extends BrooklynAppUnitTestSupport {
         RecordingWinRmTool.setCustomResponse(cmd, new RecordingWinRmTool.CustomResponse(0, "wrongstdout", null));
         
         TestWinrmCommand test = app.createAndManageChild(EntitySpec.create(TestWinrmCommand.class)
+            .configure(TestWinrmCommand.ITERATION_LIMIT, 1)
             .configure(TARGET_ENTITY, testEntity)
             .configure(COMMAND, cmd)
             .configure(ASSERT_OUT, makeAssertions(ImmutableMap.of(CONTAINS, "mystdout"))));
@@ -197,6 +200,7 @@ public class TestWinrmCommandTest extends BrooklynAppUnitTestSupport {
         RecordingWinRmTool.setCustomResponse(cmd, new RecordingWinRmTool.CustomResponse(0, null, "wrongstderr"));
         
         TestWinrmCommand test = app.createAndManageChild(EntitySpec.create(TestWinrmCommand.class)
+            .configure(TestWinrmCommand.ITERATION_LIMIT, 1)
             .configure(TARGET_ENTITY, testEntity)
             .configure(COMMAND, cmd)
             .configure(ASSERT_ERR, makeAssertions(ImmutableMap.of(CONTAINS, "mystderr"))));
@@ -218,6 +222,7 @@ public class TestWinrmCommandTest extends BrooklynAppUnitTestSupport {
         Map<String, ?> equals255 = ImmutableMap.of(EQUALS, 255);
 
         TestWinrmCommand test = app.createAndManageChild(EntitySpec.create(TestWinrmCommand.class)
+            .configure(TestWinrmCommand.ITERATION_LIMIT, 1)
             .configure(TARGET_ENTITY, testEntity)
             .configure(COMMAND, "uptime")
             .configure(ASSERT_STATUS, makeAssertions(equalsOne, equals255)));
@@ -226,6 +231,7 @@ public class TestWinrmCommandTest extends BrooklynAppUnitTestSupport {
             app.start(ImmutableList.<Location>of());
             Asserts.shouldHaveFailedPreviously();
         } catch (Exception e) {
+            Entities.dumpInfo(app);
             Asserts.expectedFailureContains(e, "exit code expected equals 1 but found 0", "exit code expected equals 255 but found 0");
         }