Repository: mesos Updated Branches: refs/heads/master 24f85fa8a -> 19c9f09ea
Updated TaskGroupValidationTest.TaskUsesNetworkInfo use two tasks. This patch updated TaskGroupValidationTest.TaskUsesNetworkInfo to have two tasks in the task group. Review: https://reviews.apache.org/r/51481/ Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/19c9f09e Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/19c9f09e Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/19c9f09e Branch: refs/heads/master Commit: 19c9f09ea45ed030a7f66ea4f8edac05be1fcca7 Parents: 24f85fa Author: Guangya Liu <gyliu...@gmail.com> Authored: Tue Sep 6 11:02:17 2016 +0200 Committer: Vinod Kone <vinodk...@gmail.com> Committed: Tue Sep 6 11:02:17 2016 +0200 ---------------------------------------------------------------------- src/tests/master_validation_tests.cpp | 54 +++++++++++++++++++----------- 1 file changed, 34 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/19c9f09e/src/tests/master_validation_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/master_validation_tests.cpp b/src/tests/master_validation_tests.cpp index d40b392..8bb4c37 100644 --- a/src/tests/master_validation_tests.cpp +++ b/src/tests/master_validation_tests.cpp @@ -1759,9 +1759,8 @@ TEST_F(TaskGroupValidationTest, ExecutorWithoutFrameworkId) driver.join(); } - -// This test verifies that a task group task -// that has `NetworkInfo` set is invalid. +// Ensures that a task in a task group that has `NetworkInfo` +// set is rejected during `TaskGroupInfo` validation. TEST_F(TaskGroupValidationTest, TaskUsesNetworkInfo) { Try<Owned<cluster::Master>> master = StartMaster(); @@ -1795,21 +1794,31 @@ TEST_F(TaskGroupValidationTest, TaskUsesNetworkInfo) executor.set_type(ExecutorInfo::CUSTOM); executor.mutable_resources()->CopyFrom(resources); - // Create a task that has NetworkInfos set. - TaskInfo task; - task.set_name("test"); - task.mutable_task_id()->set_value("1"); - task.mutable_slave_id()->MergeFrom(offer.slave_id()); - task.mutable_resources()->MergeFrom(resources); - task.mutable_container()->set_type(ContainerInfo::MESOS); - task.mutable_container()->add_network_infos(); + // Create an invalid task that has NetworkInfos set. + TaskInfo task1; + task1.set_name("1"); + task1.mutable_task_id()->set_value("1"); + task1.mutable_slave_id()->MergeFrom(offer.slave_id()); + task1.mutable_resources()->MergeFrom(resources); + task1.mutable_container()->set_type(ContainerInfo::MESOS); + task1.mutable_container()->add_network_infos(); + + // Create a valid task. + TaskInfo task2; + task2.set_name("2"); + task2.mutable_task_id()->set_value("2"); + task2.mutable_slave_id()->MergeFrom(offer.slave_id()); + task2.mutable_resources()->MergeFrom(resources); TaskGroupInfo taskGroup; - taskGroup.add_tasks()->CopyFrom(task); + taskGroup.add_tasks()->CopyFrom(task1); + taskGroup.add_tasks()->CopyFrom(task2); - Future<TaskStatus> status; + Future<TaskStatus> task1Status; + Future<TaskStatus> task2Status; EXPECT_CALL(sched, statusUpdate(&driver, _)) - .WillOnce(FutureArg<1>(&status)); + .WillOnce(FutureArg<1>(&task1Status)) + .WillOnce(FutureArg<1>(&task2Status)); Offer::Operation operation; operation.set_type(Offer::Operation::LAUNCH_GROUP); @@ -1820,14 +1829,19 @@ TEST_F(TaskGroupValidationTest, TaskUsesNetworkInfo) launchGroup->mutable_executor()->CopyFrom(executor); launchGroup->mutable_task_group()->CopyFrom(taskGroup); - driver.acceptOffers({offers.get()[0].id()}, {operation}); + driver.acceptOffers({offer.id()}, {operation}); - AWAIT_READY(status); - EXPECT_EQ(task.task_id(), status->task_id()); - EXPECT_EQ(TASK_ERROR, status->state()); - EXPECT_EQ(TaskStatus::REASON_TASK_GROUP_INVALID, status->reason()); + AWAIT_READY(task1Status); + EXPECT_EQ(task1.task_id(), task1Status->task_id()); + EXPECT_EQ(TASK_ERROR, task1Status->state()); + EXPECT_EQ(TaskStatus::REASON_TASK_GROUP_INVALID, task1Status->reason()); EXPECT_EQ("Task '1' is invalid: NetworkInfos must not be set on the task", - status->message()); + task1Status->message()); + + AWAIT_READY(task2Status); + EXPECT_EQ(task2.task_id(), task2Status->task_id()); + EXPECT_EQ(TASK_ERROR, task2Status->state()); + EXPECT_EQ(TaskStatus::REASON_TASK_GROUP_INVALID, task2Status->reason()); driver.stop(); driver.join();