This is an automated email from the ASF dual-hosted git repository.

chhsiao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mesos.git

commit 6c4ff71b9728c5c1ac169222460955b8a31f92a4
Author: Chun-Hung Hsiao <[email protected]>
AuthorDate: Tue Feb 19 22:15:06 2019 -0800

    Avoided waiting for 180s when test `NvidiaDockerImage` fails.
    
    Originally if test `NvidiaDockerImage` fails to wait for the expected
    `TASK_FINISHED` and `TASK_FAILED` states, it would wait for 180s so the
    `AWAIT_READY` would time out. This patch fixes this issue by matching
    any terminal task status updates.
    
    Review: https://reviews.apache.org/r/70018
---
 src/tests/containerizer/nvidia_gpu_isolator_tests.cpp | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/tests/containerizer/nvidia_gpu_isolator_tests.cpp 
b/src/tests/containerizer/nvidia_gpu_isolator_tests.cpp
index b75c81c..7f5bd8c 100644
--- a/src/tests/containerizer/nvidia_gpu_isolator_tests.cpp
+++ b/src/tests/containerizer/nvidia_gpu_isolator_tests.cpp
@@ -304,20 +304,20 @@ TEST_F(NvidiaGpuTest, 
ROOT_INTERNET_CURL_CGROUPS_NVIDIA_GPU_NvidiaDockerImage)
     .Times(2)
     .WillRepeatedly(v1::scheduler::SendAcknowledge(frameworkId, agentId));
 
-  Future<Nothing> task1Finished;
+  Future<v1::scheduler::Event::Update> task1Finished;
   EXPECT_CALL(*scheduler, update(_, AllOf(
       TaskStatusUpdateTaskIdEq(task1),
-      TaskStatusUpdateStateEq(v1::TASK_FINISHED))))
+      TaskStatusUpdateIsTerminalState())))
     .WillOnce(DoAll(
-        FutureSatisfy(&task1Finished),
+        FutureArg<1>(&task1Finished),
         v1::scheduler::SendAcknowledge(frameworkId, agentId)));
 
-  Future<Nothing> task2Failed;
+  Future<v1::scheduler::Event::Update> task2Failed;
   EXPECT_CALL(*scheduler, update(_, AllOf(
       TaskStatusUpdateTaskIdEq(task2),
-      TaskStatusUpdateStateEq(v1::TASK_FAILED))))
+      TaskStatusUpdateIsTerminalState())))
     .WillOnce(DoAll(
-        FutureSatisfy(&task2Failed),
+        FutureArg<1>(&task2Failed),
         v1::scheduler::SendAcknowledge(frameworkId, agentId)));
 
   mesos.send(v1::createCallAccept(
@@ -328,7 +328,10 @@ TEST_F(NvidiaGpuTest, 
ROOT_INTERNET_CURL_CGROUPS_NVIDIA_GPU_NvidiaDockerImage)
 
   // We wait up to 180 seconds to download the docker image.
   AWAIT_READY_FOR(task1Finished, Seconds(180));
+  EXPECT_EQ(v1::TASK_FINISHED, task1Finished->status().state());
+
   AWAIT_READY(task2Failed);
+  EXPECT_EQ(v1::TASK_FAILED, task2Failed->status().state());
 }
 
 

Reply via email to