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()); }
