Repository: reef Updated Branches: refs/heads/master 43cb7378b -> 528706a0d
[REEF-1474] TestTask tests should wait for StartEvent to be signaled before test verifications This addressed the issue by * Waiting for StartEvent to be signaled for tests that use TestTask. JIRA: [REEF-1474](https://issues.apache.org/jira/browse/REEF-1474) Pull Request: Closes #1058 Project: http://git-wip-us.apache.org/repos/asf/reef/repo Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/528706a0 Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/528706a0 Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/528706a0 Branch: refs/heads/master Commit: 528706a0d25539dd1e0f4dc6ad06b622316086c5 Parents: 43cb737 Author: Andrew Chung <[email protected]> Authored: Mon Jun 27 15:42:42 2016 -0700 Committer: dhruv <[email protected]> Committed: Mon Jun 27 15:55:46 2016 -0700 ---------------------------------------------------------------------- lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs | 6 ++++-- lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/reef/blob/528706a0/lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs b/lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs index b58544b..084d2fc 100644 --- a/lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs +++ b/lang/cs/Org.Apache.REEF.Evaluator.Tests/ContextRuntimeTests.cs @@ -288,6 +288,7 @@ namespace Org.Apache.REEF.Evaluator.Tests throw new Exception(); } + testTask.StartEvent.Wait(); testTask.CountDownEvent.Signal(); testTask.StopEvent.Wait(); Assert.False(contextRuntime.GetTaskStatus().IsPresent()); @@ -295,14 +296,15 @@ namespace Org.Apache.REEF.Evaluator.Tests taskThread.Join(); taskThread = contextRuntime.StartTaskOnNewThread(taskConfig); - Assert.Equal(contextRuntime.GetTaskStatus().Value.state, State.RUNNING); - var secondTestTask = contextRuntime.TaskRuntime.Value.Task as TestTask; if (secondTestTask == null) { throw new Exception(); } + secondTestTask.StartEvent.Wait(); + Assert.Equal(contextRuntime.GetTaskStatus().Value.state, State.RUNNING); + Assert.False(ReferenceEquals(testTask, secondTestTask)); secondTestTask.CountDownEvent.Signal(); http://git-wip-us.apache.org/repos/asf/reef/blob/528706a0/lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs ---------------------------------------------------------------------- diff --git a/lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs b/lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs index 22a572d..5e673e5 100644 --- a/lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs +++ b/lang/cs/Org.Apache.REEF.Evaluator.Tests/TaskRuntimeTests.cs @@ -173,6 +173,9 @@ namespace Org.Apache.REEF.Evaluator.Tests var taskThread = taskRuntime.StartTaskOnNewThread(); + var task = injector.GetInstance<TestTask>(); + task.StartEvent.Wait(); + Assert.True(testTaskEventStartHandler.StartInvoked.IsPresent()); Assert.Equal(testTaskEventStartHandler.StartInvoked.Value, taskId); Assert.False(testTaskEventStartHandler.StopInvoked.IsPresent()); @@ -180,7 +183,6 @@ namespace Org.Apache.REEF.Evaluator.Tests var countDownAction = injector.GetInstance<CountDownAction>(); countDownAction.CountdownEvent.Signal(); - var task = injector.GetInstance<TestTask>(); task.FinishCountdownEvent.Wait(); task.DisposeCountdownEvent.Wait(); @@ -218,6 +220,7 @@ namespace Org.Apache.REEF.Evaluator.Tests var taskThread = taskRuntime.StartTaskOnNewThread(); var task = injector.GetInstance<TestTask>(); + task.StartEvent.Wait(); task.FinishCountdownEvent.Wait(); task.DisposeCountdownEvent.Wait(); @@ -257,6 +260,7 @@ namespace Org.Apache.REEF.Evaluator.Tests throw new Exception("Task is expected to be an instance of TestTask."); } + task.StartEvent.Wait(); taskRuntime.Suspend(null); task.FinishCountdownEvent.Wait();
