You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2015/01/05 16:59:18 UTC
svn commit: r1649564 - in
/sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core:
AsyncHealthCheckTest.java U.java
Author: bdelacretaz
Date: Mon Jan 5 15:59:18 2015
New Revision: 1649564
URL: http://svn.apache.org/r1649564
Log:
SLING-3501 - prepare for more HealthCheckExecutor testing
Modified:
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/AsyncHealthCheckTest.java
sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/U.java
Modified: sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/AsyncHealthCheckTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/AsyncHealthCheckTest.java?rev=1649564&r1=1649563&r2=1649564&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/AsyncHealthCheckTest.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/AsyncHealthCheckTest.java Mon Jan 5 15:59:18 2015
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertTru
import java.util.Dictionary;
import java.util.Hashtable;
-import java.util.List;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicInteger;
@@ -29,7 +28,6 @@ import javax.inject.Inject;
import org.apache.sling.hc.api.HealthCheck;
import org.apache.sling.hc.api.Result;
-import org.apache.sling.hc.api.execution.HealthCheckExecutionResult;
import org.apache.sling.hc.api.execution.HealthCheckExecutor;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -75,20 +73,8 @@ public class AsyncHealthCheckTest {
final ServiceRegistration reg = bundleContext.registerService(HealthCheck.class, hc, props);
try {
- {
- // Wait for HC to be registered
- final long timeout = System.currentTimeMillis() + 10000L;
- boolean hcFound = false;
- while(System.currentTimeMillis() < timeout) {
- final List<HealthCheckExecutionResult> results = executor.execute(id);
- if(!results.isEmpty()) {
- hcFound = true;
- break;
- }
- Thread.sleep(100L);
- }
- assertTrue("Expecting HC to become active", hcFound);
- }
+ // Wait for HC to be registered
+ U.expectHealthChecks(1, executor, id);
// Now reset the counter and check that HC increments it even if we don't
// use the executor
Modified: sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/U.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/U.java?rev=1649564&r1=1649563&r2=1649564&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/U.java (original)
+++ sling/trunk/bundles/extensions/healthcheck/it/src/test/java/org/apache/sling/hc/it/core/U.java Mon Jan 5 15:59:18 2015
@@ -17,6 +17,7 @@
*/
package org.apache.sling.hc.it.core;
+import static org.junit.Assert.fail;
import static org.ops4j.pax.exam.CoreOptions.junitBundles;
import static org.ops4j.pax.exam.CoreOptions.mavenBundle;
import static org.ops4j.pax.exam.CoreOptions.options;
@@ -24,10 +25,32 @@ import static org.ops4j.pax.exam.CoreOpt
import static org.ops4j.pax.exam.CoreOptions.systemProperty;
import static org.ops4j.pax.exam.CoreOptions.when;
+import java.util.Arrays;
+import java.util.List;
+
+import org.apache.sling.hc.api.execution.HealthCheckExecutionResult;
+import org.apache.sling.hc.api.execution.HealthCheckExecutor;
import org.ops4j.pax.exam.Option;
/** Test utilities */
public class U {
+
+ /** Wait until the specified number of health checks are seen by supplied executor */
+ static void expectHealthChecks(int howMany, HealthCheckExecutor executor, String ... tags) {
+ final long timeout = System.currentTimeMillis() + 10000L;
+ while(System.currentTimeMillis() < timeout) {
+ final List<HealthCheckExecutionResult> results = executor.execute(tags);
+ if(results.size() == howMany) {
+ return;
+ }
+ try {
+ Thread.sleep(100L);
+ } catch(InterruptedException iex) {
+ throw new RuntimeException("Unexpected InterruptedException");
+ }
+ }
+ fail("Did not get " + howMany + " health checks with tags " + Arrays.asList(tags) + " after " + timeout + " msec");
+ }
static Option[] config() {
final String coreVersion = System.getProperty("sling.hc.core.version");