You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@twill.apache.org by ch...@apache.org on 2014/01/27 22:41:06 UTC
[5/5] git commit: [TWILL-27] Make test less sensitive to machine run
time speed.
[TWILL-27] Make test less sensitive to machine run time speed.
Signed-off-by: Terence Yim <te...@continuuity.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-twill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-twill/commit/c49b2f67
Tree: http://git-wip-us.apache.org/repos/asf/incubator-twill/tree/c49b2f67
Diff: http://git-wip-us.apache.org/repos/asf/incubator-twill/diff/c49b2f67
Branch: refs/heads/master
Commit: c49b2f678e1e1ee6904f81595d928475fbd77bb0
Parents: 979634c
Author: Terence Yim <te...@continuuity.com>
Authored: Mon Jan 27 12:38:02 2014 -0800
Committer: Terence Yim <te...@continuuity.com>
Committed: Mon Jan 27 13:40:45 2014 -0800
----------------------------------------------------------------------
.../twill/yarn/FailureRestartTestRun.java | 33 ++++++------
.../twill/yarn/ResourceReportTestRun.java | 54 +++++++++++---------
2 files changed, 46 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/c49b2f67/twill-yarn/src/test/java/org/apache/twill/yarn/FailureRestartTestRun.java
----------------------------------------------------------------------
diff --git a/twill-yarn/src/test/java/org/apache/twill/yarn/FailureRestartTestRun.java b/twill-yarn/src/test/java/org/apache/twill/yarn/FailureRestartTestRun.java
index 06de991..8bc9571 100644
--- a/twill-yarn/src/test/java/org/apache/twill/yarn/FailureRestartTestRun.java
+++ b/twill-yarn/src/test/java/org/apache/twill/yarn/FailureRestartTestRun.java
@@ -17,34 +17,31 @@
*/
package org.apache.twill.yarn;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.util.Set;
-import java.util.concurrent.TimeUnit;
-
-import org.junit.Assert;
-import org.junit.Test;
-
import com.google.common.base.Charsets;
import com.google.common.collect.Sets;
import com.google.common.io.LineReader;
-
import org.apache.twill.api.Command;
import org.apache.twill.api.ResourceSpecification;
import org.apache.twill.api.TwillController;
import org.apache.twill.api.TwillRunner;
import org.apache.twill.api.logging.PrinterLogHandler;
import org.apache.twill.discovery.Discoverable;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.util.Set;
/**
*
*/
-public final class FailureRestartTestRun extends BaseYarnTest {
+public final class FailureRestartTestRun extends BaseYarnTest {
@Test
public void testFailureRestart() throws Exception {
@@ -70,10 +67,12 @@ public final class FailureRestartTestRun extends BaseYarnTest {
// Kill server with instanceId = 0
controller.sendCommand(FailureRunnable.class.getSimpleName(), Command.Builder.of("kill0").build());
- // Do a shot sleep, make sure the runnable is killed.
- TimeUnit.SECONDS.sleep(5);
+ // Make sure the runnable is killed.
+ Assert.assertTrue(YarnTestUtils.waitForSize(discoverables, 1, 60));
+ // Wait for the restart
Assert.assertTrue(YarnTestUtils.waitForSize(discoverables, 2, 60));
+
// Make sure we see the right instance IDs
Assert.assertEquals(Sets.newHashSet(0, 1), getInstances(discoverables));
http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/c49b2f67/twill-yarn/src/test/java/org/apache/twill/yarn/ResourceReportTestRun.java
----------------------------------------------------------------------
diff --git a/twill-yarn/src/test/java/org/apache/twill/yarn/ResourceReportTestRun.java b/twill-yarn/src/test/java/org/apache/twill/yarn/ResourceReportTestRun.java
index 795caed..71bb607 100644
--- a/twill-yarn/src/test/java/org/apache/twill/yarn/ResourceReportTestRun.java
+++ b/twill-yarn/src/test/java/org/apache/twill/yarn/ResourceReportTestRun.java
@@ -17,28 +17,9 @@
*/
package org.apache.twill.yarn;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.PrintWriter;
-import java.net.Socket;
-import java.net.URISyntaxException;
-import java.util.Collection;
-import java.util.Map;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-
import com.google.common.base.Charsets;
import com.google.common.collect.Maps;
import com.google.common.io.LineReader;
-
-import org.junit.Assert;
-import org.junit.Test;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
import org.apache.twill.api.ResourceReport;
import org.apache.twill.api.ResourceSpecification;
import org.apache.twill.api.TwillApplication;
@@ -51,12 +32,29 @@ import org.apache.twill.common.ServiceListenerAdapter;
import org.apache.twill.common.Threads;
import org.apache.twill.discovery.Discoverable;
import org.apache.twill.internal.EnvKeys;
+import org.junit.Assert;
+import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.net.URISyntaxException;
+import java.util.Collection;
+import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
/**
* Using echo server to test resource reports.
* This test is executed by {@link org.apache.twill.yarn.YarnTestUtils}.
*/
-public final class ResourceReportTestRun {
+public final class ResourceReportTestRun extends BaseYarnTest {
private static final Logger LOG = LoggerFactory.getLogger(ResourceReportTestRun.class);
@@ -177,10 +175,18 @@ public final class ResourceReportTestRun {
}
// takes some time for app master to find out the container completed...
- TimeUnit.SECONDS.sleep(5);
- // check that we have 1 runnable, not 2.
- report = controller.getResourceReport();
- Assert.assertEquals(1, report.getRunnableResources("BuggyServer").size());
+ int count = 0;
+ while (count < 20) {
+ report = controller.getResourceReport();
+ // check that we have 1 runnable, not 2.
+ if (report.getRunnableResources("BuggyServer").size() == 1) {
+ break;
+ }
+ LOG.info("Wait for BuggyServer to have 1 instance left. Trial {}.", count);
+ count++;
+ TimeUnit.SECONDS.sleep(1);
+ }
+ Assert.assertTrue("Still has 2 contains running after 20 seconds", count < 20);
controller.stop().get(30, TimeUnit.SECONDS);
// Sleep a bit before exiting.