You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by bm...@apache.org on 2015/07/24 04:51:15 UTC

[2/2] mesos git commit: Cleaned up the tests to use initializer list for launchTasks.

Cleaned up the tests to use initializer list for launchTasks.


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/341e23fc
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/341e23fc
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/341e23fc

Branch: refs/heads/master
Commit: 341e23fc5d371d5673a4698cf51c407394f1305c
Parents: b7e1f43
Author: Benjamin Mahler <be...@gmail.com>
Authored: Thu Jul 23 19:39:57 2015 -0700
Committer: Benjamin Mahler <be...@gmail.com>
Committed: Thu Jul 23 19:39:57 2015 -0700

----------------------------------------------------------------------
 src/tests/docker_containerizer_tests.cpp        | 100 +++------------
 src/tests/external_containerizer_test.cpp       |   5 +-
 src/tests/fault_tolerance_tests.cpp             |  29 +----
 src/tests/hook_tests.cpp                        |  20 +--
 src/tests/master_authorization_tests.cpp        |  36 ++----
 src/tests/master_slave_reconciliation_tests.cpp |  20 +--
 src/tests/master_tests.cpp                      |  87 +++----------
 src/tests/master_validation_tests.cpp           |  25 +---
 src/tests/partition_tests.cpp                   |  10 +-
 src/tests/reconciliation_tests.cpp              |   4 +-
 src/tests/registrar_zookeeper_tests.cpp         |   4 +-
 src/tests/slave_recovery_tests.cpp              | 125 +++++--------------
 src/tests/slave_tests.cpp                       |  63 ++--------
 13 files changed, 114 insertions(+), 414 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/docker_containerizer_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/docker_containerizer_tests.cpp b/src/tests/docker_containerizer_tests.cpp
index 0992559..80ed60e 100644
--- a/src/tests/docker_containerizer_tests.cpp
+++ b/src/tests/docker_containerizer_tests.cpp
@@ -482,9 +482,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
 
   task.mutable_executor()->CopyFrom(executorInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -497,7 +494,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -596,9 +593,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor_Bridged)
 
   task.mutable_executor()->CopyFrom(executorInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -611,7 +605,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch_Executor_Bridged)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -698,9 +692,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -712,7 +703,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Launch)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -807,9 +798,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -820,7 +808,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Kill)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -915,9 +903,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -933,7 +918,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Usage)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -1052,9 +1037,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -1066,7 +1048,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Update)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(containerId);
 
@@ -1381,9 +1363,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<string> directory;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
@@ -1399,7 +1378,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Logs)
     .WillOnce(FutureArg<1>(&statusFinished))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY(directory);
@@ -1506,9 +1485,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<string> directory;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
@@ -1524,7 +1500,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD)
     .WillOnce(FutureArg<1>(&statusFinished))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY(directory);
@@ -1630,9 +1606,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<string> directory;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
@@ -1648,7 +1621,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Override)
     .WillOnce(FutureArg<1>(&statusFinished))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY(directory);
@@ -1758,9 +1731,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<string> directory;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
@@ -1776,7 +1746,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_Default_CMD_Args)
     .WillOnce(FutureArg<1>(&statusFinished))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY(directory);
@@ -1883,9 +1853,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(*dockerContainerizer1, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -1896,7 +1863,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_SlaveRecoveryTaskContainer)
   Future<StatusUpdateMessage> statusUpdateMessage =
     DROP_PROTOBUF(StatusUpdateMessage(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(containerId);
 
@@ -2038,9 +2005,6 @@ TEST_F(DockerContainerizerTest,
 
   task.mutable_executor()->CopyFrom(executorInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<SlaveID> slaveId;
   EXPECT_CALL(*dockerContainerizer1, launch(_, _, _, _, _, _, _))
@@ -2069,7 +2033,7 @@ TEST_F(DockerContainerizerTest,
   Future<StatusUpdateMessage> statusUpdateMessage2 =
     DROP_PROTOBUF(StatusUpdateMessage(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(containerId);
   AWAIT_READY(slaveId);
@@ -2206,9 +2170,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   Future<string> directory;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
@@ -2224,7 +2185,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_NC_PortMapping)
     .WillOnce(FutureArg<1>(&statusFinished))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY(directory);
@@ -2333,9 +2294,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ContainerID> containerId;
   EXPECT_CALL(dockerContainerizer, launch(_, _, _, _, _, _, _, _))
     .WillOnce(DoAll(FutureArg<0>(&containerId),
@@ -2347,7 +2305,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_LaunchSandboxWithColon)
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillRepeatedly(DoDefault());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
   AWAIT_READY_FOR(statusRunning, Seconds(60));
@@ -2440,9 +2398,6 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
   task.mutable_command()->CopyFrom(command);
   task.mutable_container()->CopyFrom(containerInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> statusFailed;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusFailed));
@@ -2453,7 +2408,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhileFetching)
                     Invoke(&dockerContainerizer,
                            &MockDockerContainerizer::_launch)));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 
@@ -2561,10 +2516,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DestroyWhilePulling)
                     Invoke(&dockerContainerizer,
                            &MockDockerContainerizer::_launch)));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 
@@ -2668,10 +2620,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed)
   EXPECT_CALL(dockerContainerizer, update(_, _))
     .WillRepeatedly(Return(Failure("Fail resource update")));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 
@@ -2767,10 +2716,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_FetchFailure)
   EXPECT_CALL(*process, fetch(_, _))
     .WillOnce(Return(Failure("some error from fetch")));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 
@@ -2871,10 +2817,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerPullFailure)
   EXPECT_CALL(*mockDocker, pull(_, _, _))
     .WillOnce(Return(Failure("some error from docker pull")));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 
@@ -2989,10 +2932,7 @@ TEST_F(DockerContainerizerTest, ROOT_DOCKER_DockerInspectDiscard)
                     Invoke(&dockerContainerizer,
                            &MockDockerContainerizer::_launchExecutor)));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY_FOR(containerId, Seconds(60));
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/external_containerizer_test.cpp
----------------------------------------------------------------------
diff --git a/src/tests/external_containerizer_test.cpp b/src/tests/external_containerizer_test.cpp
index ca6fe50..17bfb72 100644
--- a/src/tests/external_containerizer_test.cpp
+++ b/src/tests/external_containerizer_test.cpp
@@ -187,9 +187,6 @@ TEST_F(ExternalContainerizerTest, DISABLED_Launch)
       "touch " + file +  "; " // Signals that the top command is running.
       "sleep 60");
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status))
@@ -201,7 +198,7 @@ TEST_F(ExternalContainerizerTest, DISABLED_Launch)
                     Invoke(&containerizer,
                            &MockExternalContainerizer::_launch)));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(containerId);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/fault_tolerance_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/fault_tolerance_tests.cpp b/src/tests/fault_tolerance_tests.cpp
index 72f4cab..9288718 100644
--- a/src/tests/fault_tolerance_tests.cpp
+++ b/src/tests/fault_tolerance_tests.cpp
@@ -209,8 +209,6 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   // Step 3. Create/launch a task.
   TaskInfo task =
     createTask(offers.get()[0], "sleep 10000", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long lasting task.
 
   EXPECT_CALL(executor, registered(_, _, _, _));
   EXPECT_CALL(executor, launchTask(_, _))
@@ -220,7 +218,7 @@ TEST_F(FaultToleranceTest, ReregisterCompletedFrameworks)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(statusRunning);
   EXPECT_EQ(TASK_RUNNING, statusRunning.get().state());
@@ -832,14 +830,11 @@ TEST_F(FaultToleranceTest, TaskLost)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_LOST, status.get().state());
@@ -890,9 +885,6 @@ TEST_F(FaultToleranceTest, SchedulerFailoverStatusUpdate)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   EXPECT_CALL(exec, launchTask(_, _))
@@ -905,7 +897,7 @@ TEST_F(FaultToleranceTest, SchedulerFailoverStatusUpdate)
                   _,
                   Not(AnyOf(Eq(master.get()), Eq(slave.get()))));
 
-  driver1.launchTasks(offers.get()[0].id(), tasks);
+  driver1.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(statusUpdateMessage);
 
@@ -1106,9 +1098,6 @@ TEST_F(FaultToleranceTest, ForwardStatusUpdateUnknownExecutor)
   task.mutable_resources()->MergeFrom(offer.resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<Nothing> statusUpdate;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureSatisfy(&statusUpdate));    // TASK_RUNNING of task1.
@@ -1118,7 +1107,7 @@ TEST_F(FaultToleranceTest, ForwardStatusUpdateUnknownExecutor)
   EXPECT_CALL(exec, launchTask(_, _))
     .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
 
-  driver.launchTasks(offer.id(), tasks);
+  driver.launchTasks(offer.id(), {task});
 
   // Wait until TASK_RUNNING of task1 is received.
   AWAIT_READY(statusUpdate);
@@ -1193,9 +1182,6 @@ TEST_F(FaultToleranceTest, SchedulerFailoverExecutorToFrameworkMessage)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched1, statusUpdate(&driver1, _))
     .WillOnce(FutureArg<1>(&status));
@@ -1207,7 +1193,7 @@ TEST_F(FaultToleranceTest, SchedulerFailoverExecutorToFrameworkMessage)
   EXPECT_CALL(exec, launchTask(_, _))
     .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
 
-  driver1.launchTasks(offers.get()[0].id(), tasks);
+  driver1.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -1527,9 +1513,6 @@ TEST_F(FaultToleranceTest, SchedulerExit)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
@@ -1539,7 +1522,7 @@ TEST_F(FaultToleranceTest, SchedulerExit)
   EXPECT_CALL(exec, launchTask(_, _))
     .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/hook_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/hook_tests.cpp b/src/tests/hook_tests.cpp
index 86e53d8..e9f1c77 100644
--- a/src/tests/hook_tests.cpp
+++ b/src/tests/hook_tests.cpp
@@ -172,9 +172,6 @@ TEST_F(HookTest, VerifyMasterLaunchTaskHook)
   labels->add_labels()->CopyFrom(createLabel(
         testRemoveLabelKey, testRemoveLabelValue));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<RunTaskMessage> runTaskMessage =
     FUTURE_PROTOBUF(RunTaskMessage(), _, _);
 
@@ -188,7 +185,7 @@ TEST_F(HookTest, VerifyMasterLaunchTaskHook)
     .WillOnce(FutureArg<1>(&status))
     .WillRepeatedly(Return());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(runTaskMessage);
 
@@ -299,9 +296,6 @@ TEST_F(HookTest, DISABLED_VerifySlaveLaunchExecutorHook)
   task.mutable_resources()->CopyFrom(offers.get()[0].resources());
   task.mutable_executor()->CopyFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   EXPECT_CALL(exec, launchTask(_, _))
@@ -321,7 +315,7 @@ TEST_F(HookTest, DISABLED_VerifySlaveLaunchExecutorHook)
   // until that message is intercepted by the testing infrastructure.
   Future<HookExecuted> hookFuture = FUTURE_PROTOBUF(HookExecuted(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
 
@@ -387,9 +381,6 @@ TEST_F(HookTest, VerifySlaveRunTaskHook)
   labels->add_labels()->CopyFrom(createLabel("foo", "bar"));
   labels->add_labels()->CopyFrom(createLabel("bar", "baz"));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   Future<TaskInfo> taskInfo;
@@ -398,7 +389,7 @@ TEST_F(HookTest, VerifySlaveRunTaskHook)
         FutureArg<1>(&taskInfo),
         SendStatusUpdateFromTask(TASK_RUNNING)));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(taskInfo);
 
@@ -465,9 +456,6 @@ TEST_F(HookTest, VerifySlaveTaskStatusLabelDecorator)
   // Start a task.
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   ExecutorDriver* execDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(SaveArg<0>(&execDriver));
@@ -480,7 +468,7 @@ TEST_F(HookTest, VerifySlaveTaskStatusLabelDecorator)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(execTask);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/master_authorization_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_authorization_tests.cpp b/src/tests/master_authorization_tests.cpp
index 5633c82..d9b5d01 100644
--- a/src/tests/master_authorization_tests.cpp
+++ b/src/tests/master_authorization_tests.cpp
@@ -119,9 +119,6 @@ TEST_F(MasterAuthorizationTest, AuthorizedTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(executor);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -132,7 +129,7 @@ TEST_F(MasterAuthorizationTest, AuthorizedTask)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -197,14 +194,11 @@ TEST_F(MasterAuthorizationTest, UnauthorizedTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(executor);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_ERROR, status.get().state());
@@ -248,8 +242,6 @@ TEST_F(MasterAuthorizationTest, KillTask)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   // Return a pending future from authorizer.
   Future<Nothing> authorize;
@@ -258,7 +250,7 @@ TEST_F(MasterAuthorizationTest, KillTask)
     .WillOnce(DoAll(FutureSatisfy(&authorize),
                     Return(promise.future())));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);
@@ -322,8 +314,6 @@ TEST_F(MasterAuthorizationTest, SlaveRemoved)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   // Return a pending future from authorizer.
   Future<Nothing> authorize;
@@ -332,7 +322,7 @@ TEST_F(MasterAuthorizationTest, SlaveRemoved)
     .WillOnce(DoAll(FutureSatisfy(&authorize),
                     Return(promise.future())));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);
@@ -412,8 +402,6 @@ TEST_F(MasterAuthorizationTest, SlaveDisconnected)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   // Return a pending future from authorizer.
   Future<Nothing> authorize;
@@ -422,7 +410,7 @@ TEST_F(MasterAuthorizationTest, SlaveDisconnected)
     .WillOnce(DoAll(FutureSatisfy(&authorize),
                     Return(promise.future())));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);
@@ -506,8 +494,6 @@ TEST_F(MasterAuthorizationTest, FrameworkRemoved)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   // Return a pending future from authorizer.
   Future<Nothing> authorize;
@@ -516,7 +502,7 @@ TEST_F(MasterAuthorizationTest, FrameworkRemoved)
     .WillOnce(DoAll(FutureSatisfy(&authorize),
                     Return(promise.future())));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);
@@ -586,9 +572,6 @@ TEST_F(MasterAuthorizationTest, PendingExecutorInfoDiffersOnDifferentSlaves)
   TaskInfo task1 = createTask(
       offers1.get()[0], executor1.command().value(), executor1.executor_id());
 
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
-
   // Return a pending future from authorizer.
   Future<Nothing> authorize;
   Promise<bool> promise;
@@ -596,7 +579,7 @@ TEST_F(MasterAuthorizationTest, PendingExecutorInfoDiffersOnDifferentSlaves)
     .WillOnce(DoAll(FutureSatisfy(&authorize),
                     Return(promise.future())));
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);
@@ -624,9 +607,6 @@ TEST_F(MasterAuthorizationTest, PendingExecutorInfoDiffersOnDifferentSlaves)
   TaskInfo task2 = createTask(
       offers2.get()[0], executor2.command().value(), executor2.executor_id());
 
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
-
   EXPECT_CALL(exec2, registered(_, _, _, _))
     .Times(1);
 
@@ -640,7 +620,7 @@ TEST_F(MasterAuthorizationTest, PendingExecutorInfoDiffersOnDifferentSlaves)
   EXPECT_CALL(authorizer, authorize(An<const mesos::ACL::RunTask&>()))
     .WillOnce(Return(true));
 
-  driver.launchTasks(offers2.get()[0].id(), tasks2);
+  driver.launchTasks(offers2.get()[0].id(), {task2});
 
   AWAIT_READY(status2);
   ASSERT_EQ(TASK_RUNNING, status2.get().state());

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/master_slave_reconciliation_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_slave_reconciliation_tests.cpp b/src/tests/master_slave_reconciliation_tests.cpp
index ded3f52..7b0b983 100644
--- a/src/tests/master_slave_reconciliation_tests.cpp
+++ b/src/tests/master_slave_reconciliation_tests.cpp
@@ -197,15 +197,12 @@ TEST_F(MasterSlaveReconciliationTest, ReconcileLostTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // We now launch a task and drop the corresponding RunTaskMessage on
   // the slave, to ensure that only the master knows about this task.
   Future<RunTaskMessage> runTaskMessage =
     DROP_PROTOBUF(RunTaskMessage(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(runTaskMessage);
 
@@ -314,9 +311,6 @@ TEST_F(MasterSlaveReconciliationTest, ReconcileRace)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   ExecutorDriver* executorDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(SaveArg<0>(&executorDriver));
@@ -329,7 +323,7 @@ TEST_F(MasterSlaveReconciliationTest, ReconcileRace)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .Times(0);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(launchTask);
 
@@ -421,10 +415,7 @@ TEST_F(MasterSlaveReconciliationTest, SlaveReregisterPendingTask)
   task1.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task1.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
-
-  driver.launchTasks(offers.get()[0].id(), tasks1);
+  driver.launchTasks(offers.get()[0].id(), {task1});
 
   AWAIT_READY(_runTask);
 
@@ -486,9 +477,6 @@ TEST_F(MasterSlaveReconciliationTest, SlaveReregisterTerminalTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   // Send a terminal update right away.
@@ -506,7 +494,7 @@ TEST_F(MasterSlaveReconciliationTest, SlaveReregisterTerminalTask)
     .WillOnce(FutureArg<1>(&status))
     .WillRepeatedly(Return()); // Ignore retried update due to update framework.
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(_statusUpdate);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/master_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_tests.cpp b/src/tests/master_tests.cpp
index 826f276..05c148e 100644
--- a/src/tests/master_tests.cpp
+++ b/src/tests/master_tests.cpp
@@ -152,9 +152,6 @@ TEST_F(MasterTest, TaskRunning)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -171,7 +168,7 @@ TEST_F(MasterTest, TaskRunning)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -230,9 +227,6 @@ TEST_F(MasterTest, ShutdownFrameworkWhileTaskRunning)
   task.mutable_resources()->MergeFrom(offer.resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -249,7 +243,7 @@ TEST_F(MasterTest, ShutdownFrameworkWhileTaskRunning)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offer.id(), tasks);
+  driver.launchTasks(offer.id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -339,9 +333,6 @@ TEST_F(MasterTest, KillTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -352,7 +343,7 @@ TEST_F(MasterTest, KillTask)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -417,9 +408,6 @@ TEST_F(MasterTest, KillUnknownTask)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -430,7 +418,7 @@ TEST_F(MasterTest, KillUnknownTask)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -498,9 +486,6 @@ TEST_F(MasterTest, KillUnknownTaskSlaveInTransition)
   // Start a task.
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -511,7 +496,7 @@ TEST_F(MasterTest, KillUnknownTaskSlaveInTransition)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -616,9 +601,6 @@ TEST_F(MasterTest, StatusUpdateAck)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -632,7 +614,7 @@ TEST_F(MasterTest, StatusUpdateAck)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -701,9 +683,6 @@ TEST_F(MasterTest, RecoverResources)
   task.mutable_resources()->MergeFrom(taskResources);
   task.mutable_executor()->MergeFrom(executorInfo);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -714,7 +693,7 @@ TEST_F(MasterTest, RecoverResources)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -804,9 +783,6 @@ TEST_F(MasterTest, FrameworkMessage)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ExecutorDriver*> execDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(FutureArg<0>(&execDriver));
@@ -818,7 +794,7 @@ TEST_F(MasterTest, FrameworkMessage)
   EXPECT_CALL(sched, statusUpdate(&schedDriver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  schedDriver.launchTasks(offers.get()[0].id(), tasks);
+  schedDriver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -1203,8 +1179,6 @@ TEST_F(MasterTest, LaunchCombinedOfferTest)
   task1.mutable_slave_id()->MergeFrom(offers1.get()[0].slave_id());
   task1.mutable_resources()->MergeFrom(halfSlave);
   task1.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
 
   EXPECT_CALL(exec, registered(_, _, _, _));
 
@@ -1223,7 +1197,7 @@ TEST_F(MasterTest, LaunchCombinedOfferTest)
   Filters filters;
   filters.set_refuse_seconds(0);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1, filters);
+  driver.launchTasks(offers1.get()[0].id(), {task1}, filters);
 
   AWAIT_READY(status1);
   EXPECT_EQ(TASK_RUNNING, status1.get().state());
@@ -1269,9 +1243,6 @@ TEST_F(MasterTest, LaunchCombinedOfferTest)
   task2.mutable_resources()->MergeFrom(fullSlave);
   task2.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
-
   EXPECT_CALL(exec, launchTask(_, _))
     .WillOnce(SendStatusUpdateFromTask(TASK_RUNNING));
 
@@ -1283,7 +1254,7 @@ TEST_F(MasterTest, LaunchCombinedOfferTest)
   combinedOffers.push_back(offers2.get()[0].id());
   combinedOffers.push_back(offers3.get()[0].id());
 
-  driver.launchTasks(combinedOffers, tasks2);
+  driver.launchTasks(combinedOffers, {task2});
 
   AWAIT_READY(status3);
   EXPECT_EQ(TASK_RUNNING, status3.get().state());
@@ -1360,8 +1331,6 @@ TEST_F(MasterTest, LaunchAcrossSlavesTest)
   task.mutable_slave_id()->MergeFrom(offers1.get()[0].slave_id());
   task.mutable_resources()->MergeFrom(twoSlaves);
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
@@ -1374,7 +1343,7 @@ TEST_F(MasterTest, LaunchAcrossSlavesTest)
   Future<Nothing> recoverResources =
     FUTURE_DISPATCH(_, &MesosAllocatorProcess::recoverResources);
 
-  driver.launchTasks(combinedOffers, tasks);
+  driver.launchTasks(combinedOffers, {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_LOST, status.get().state());
@@ -1455,8 +1424,6 @@ TEST_F(MasterTest, LaunchDuplicateOfferTest)
   task.mutable_slave_id()->MergeFrom(offers.get()[0].slave_id());
   task.mutable_resources()->MergeFrom(fullSlave);
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   Future<TaskStatus> status;
 
@@ -1466,7 +1433,7 @@ TEST_F(MasterTest, LaunchDuplicateOfferTest)
   Future<Nothing> recoverResources =
     FUTURE_DISPATCH(_, &MesosAllocatorProcess::recoverResources);
 
-  driver.launchTasks(combinedOffers, tasks);
+  driver.launchTasks(combinedOffers, {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_LOST, status.get().state());
@@ -2896,9 +2863,6 @@ TEST_F(MasterTest, StateSummaryEndpoint)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -2909,7 +2873,7 @@ TEST_F(MasterTest, StateSummaryEndpoint)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -3071,9 +3035,6 @@ TEST_F(MasterTest, TaskLabels)
   labels->add_labels()->CopyFrom(createLabel("bar", "baz"));
   labels->add_labels()->CopyFrom(createLabel("bar", "qux"));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -3090,7 +3051,7 @@ TEST_F(MasterTest, TaskLabels)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -3167,9 +3128,6 @@ TEST_F(MasterTest, TaskStatusLabels)
 
   TaskInfo task = createTask(offers.get()[0], "sleep 100", DEFAULT_EXECUTOR_ID);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   ExecutorDriver* execDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(SaveArg<0>(&execDriver));
@@ -3182,7 +3140,7 @@ TEST_F(MasterTest, TaskStatusLabels)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(execTask);
 
@@ -3357,9 +3315,6 @@ TEST_F(MasterTest, TaskDiscoveryInfo)
   labels->add_labels()->CopyFrom(createLabel("clearance", "high"));
   labels->add_labels()->CopyFrom(createLabel("RPC", "yes"));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   EXPECT_CALL(exec, launchTask(_, _))
@@ -3375,7 +3330,7 @@ TEST_F(MasterTest, TaskDiscoveryInfo)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -3534,9 +3489,6 @@ TEST_F(MasterTest, MasterFailoverLongLivedExecutor)
   task1.mutable_resources()->MergeFrom(halfSlave);
   task1.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
-
   EXPECT_CALL(exec, registered(_, _, _, _));
 
   // Expect two tasks to eventually be running on the executor.
@@ -3549,7 +3501,7 @@ TEST_F(MasterTest, MasterFailoverLongLivedExecutor)
     .WillOnce(FutureArg<1>(&status1))
     .WillRepeatedly(Return());
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   AWAIT_READY(status1);
   EXPECT_EQ(TASK_RUNNING, status1.get().state());
@@ -3577,16 +3529,13 @@ TEST_F(MasterTest, MasterFailoverLongLivedExecutor)
   TaskInfo task2 = task1;
   task2.mutable_task_id()->set_value("2");
 
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
-
   Future<TaskStatus> status2;
   EXPECT_CALL(sched, statusUpdate(&driver, TaskStatusEq(task2)))
     .WillOnce(FutureArg<1>(&status2))
     .WillRepeatedly(Return());
 
   // Start the second task with the new master on the running executor.
-  driver.launchTasks(offers2.get()[0].id(), tasks2);
+  driver.launchTasks(offers2.get()[0].id(), {task2});
 
   AWAIT_READY(status2);
   EXPECT_EQ(TASK_RUNNING, status2.get().state());

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/master_validation_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/master_validation_tests.cpp b/src/tests/master_validation_tests.cpp
index dbd5118..3513bca 100644
--- a/src/tests/master_validation_tests.cpp
+++ b/src/tests/master_validation_tests.cpp
@@ -682,10 +682,7 @@ TEST_F(TaskValidationTest, TaskUsesCommandInfoAndExecutorInfo)
   TaskInfo task = createTask(offers.get()[0], ""); // Command task.
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO); // Executor task.
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_ERROR, status.get().state());
@@ -730,14 +727,11 @@ TEST_F(TaskValidationTest, TaskUsesNoResources)
   task.mutable_slave_id()->MergeFrom(offers.get()[0].slave_id());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(task.task_id(), status.get().task_id());
@@ -789,14 +783,11 @@ TEST_F(TaskValidationTest, TaskUsesMoreResourcesThanOffered)
   cpus->set_type(Value::SCALAR);
   cpus->mutable_scalar()->set_value(2.01);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
 
@@ -1029,9 +1020,6 @@ TEST_F(TaskValidationTest, ExecutorInfoDiffersOnDifferentSlaves)
   TaskInfo task1 = createTask(
       offers1.get()[0], executor1.command().value(), executor1.executor_id());
 
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
-
   EXPECT_CALL(exec1, registered(_, _, _, _))
     .Times(1);
 
@@ -1042,7 +1030,7 @@ TEST_F(TaskValidationTest, ExecutorInfoDiffersOnDifferentSlaves)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status1));
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   AWAIT_READY(status1);
   ASSERT_EQ(TASK_RUNNING, status1.get().state());
@@ -1070,9 +1058,6 @@ TEST_F(TaskValidationTest, ExecutorInfoDiffersOnDifferentSlaves)
   TaskInfo task2 = createTask(
       offers2.get()[0], executor2.command().value(), executor2.executor_id());
 
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
-
   EXPECT_CALL(exec2, registered(_, _, _, _))
     .Times(1);
 
@@ -1083,7 +1068,7 @@ TEST_F(TaskValidationTest, ExecutorInfoDiffersOnDifferentSlaves)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status2));
 
-  driver.launchTasks(offers2.get()[0].id(), tasks2);
+  driver.launchTasks(offers2.get()[0].id(), {task2});
 
   AWAIT_READY(status2);
   ASSERT_EQ(TASK_RUNNING, status2.get().state());

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/partition_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/partition_tests.cpp b/src/tests/partition_tests.cpp
index a1fb6f7..b7030ad 100644
--- a/src/tests/partition_tests.cpp
+++ b/src/tests/partition_tests.cpp
@@ -199,9 +199,6 @@ TEST_F(PartitionTest, PartitionedSlaveReregistration)
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
   task.mutable_executor()->mutable_command()->set_value("sleep 60");
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // Set up the expectations for launching the task.
   EXPECT_CALL(exec, registered(_, _, _, _));
   EXPECT_CALL(exec, launchTask(_, _))
@@ -214,7 +211,7 @@ TEST_F(PartitionTest, PartitionedSlaveReregistration)
   Future<Nothing> statusUpdateAck = FUTURE_DISPATCH(
       slave.get(), &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(runningStatus);
   EXPECT_EQ(TASK_RUNNING, runningStatus.get().state());
@@ -471,9 +468,6 @@ TEST_F(PartitionTest, PartitionedSlaveExitedExecutor)
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
   task.mutable_executor()->mutable_command()->set_value("sleep 60");
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // Set up the expectations for launching the task.
   EXPECT_CALL(exec, registered(_, _, _, _));
 
@@ -485,7 +479,7 @@ TEST_F(PartitionTest, PartitionedSlaveExitedExecutor)
   // shutdown.
   DROP_PROTOBUFS(StatusUpdateMessage(), _, master.get());
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Drop the first shutdown message from the master (simulated
   // partition) and allow the second shutdown message to pass when

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/reconciliation_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/reconciliation_tests.cpp b/src/tests/reconciliation_tests.cpp
index 6940b6a..d9dde93 100644
--- a/src/tests/reconciliation_tests.cpp
+++ b/src/tests/reconciliation_tests.cpp
@@ -659,10 +659,8 @@ TEST_F(ReconciliationTest, PendingTask)
                     Return(promise.future())));
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait until authorization is in progress.
   AWAIT_READY(authorize);

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/registrar_zookeeper_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/registrar_zookeeper_tests.cpp b/src/tests/registrar_zookeeper_tests.cpp
index 42bc2a2..29832b4 100644
--- a/src/tests/registrar_zookeeper_tests.cpp
+++ b/src/tests/registrar_zookeeper_tests.cpp
@@ -89,8 +89,6 @@ TEST_F(RegistrarZooKeeperTest, TaskRunning)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "dummy", DEFAULT_EXECUTOR_ID);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
@@ -108,7 +106,7 @@ TEST_F(RegistrarZooKeeperTest, TaskRunning)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/slave_recovery_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_recovery_tests.cpp b/src/tests/slave_recovery_tests.cpp
index 2bb4c1c..e1392a2 100644
--- a/src/tests/slave_recovery_tests.cpp
+++ b/src/tests/slave_recovery_tests.cpp
@@ -198,8 +198,6 @@ TYPED_TEST(SlaveRecoveryTest, RecoverSlaveState)
   SlaveID slaveId = offers.get()[0].slave_id();
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Scheduler expectations.
   EXPECT_CALL(sched, statusUpdate(_, _))
@@ -218,7 +216,7 @@ TYPED_TEST(SlaveRecoveryTest, RecoverSlaveState)
   Future<Nothing> _ack =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Capture the executor pids.
   AWAIT_READY(registerExecutorMessage);
@@ -369,8 +367,6 @@ TYPED_TEST(SlaveRecoveryTest, RecoverStatusUpdateManager)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Message expectations.
   Future<Message> registerExecutor =
@@ -380,7 +376,7 @@ TYPED_TEST(SlaveRecoveryTest, RecoverStatusUpdateManager)
   Future<StatusUpdateMessage> update =
     DROP_PROTOBUF(StatusUpdateMessage(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Capture the executor pid.
   AWAIT_READY(registerExecutor);
@@ -455,14 +451,12 @@ TYPED_TEST(SlaveRecoveryTest, ReconnectExecutor)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Drop the first update from the executor.
   Future<StatusUpdateMessage> statusUpdate =
     DROP_PROTOBUF(StatusUpdateMessage(), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Stop the slave before the status update is received.
   AWAIT_READY(statusUpdate);
@@ -549,14 +543,12 @@ TYPED_TEST(SlaveRecoveryTest, RecoverUnregisteredExecutor)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Drop the executor registration message.
   Future<Message> registerExecutor =
     DROP_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Stop the slave before the executor is registered.
   AWAIT_READY(registerExecutor);
@@ -661,8 +653,6 @@ TYPED_TEST(SlaveRecoveryTest, RecoverTerminatedExecutor)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   Future<Message> registerExecutor =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
@@ -672,7 +662,7 @@ TYPED_TEST(SlaveRecoveryTest, RecoverTerminatedExecutor)
   Future<Nothing> ack =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Capture the executor pid.
   AWAIT_READY(registerExecutor);
@@ -789,15 +779,13 @@ TYPED_TEST(SlaveRecoveryTest, DISABLED_RecoveryTimeout)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -883,8 +871,6 @@ TYPED_TEST(SlaveRecoveryTest, RecoverCompletedExecutor)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "exit 0");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Short-lived task.
 
   EXPECT_CALL(sched, statusUpdate(_, _))
     .Times(2); // TASK_RUNNING and TASK_FINISHED updates.
@@ -895,7 +881,7 @@ TYPED_TEST(SlaveRecoveryTest, RecoverCompletedExecutor)
   Future<Nothing> schedule = FUTURE_DISPATCH(
       _, &GarbageCollectorProcess::schedule);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // We use 'gc.schedule' as a proxy for the cleanup of the executor.
   AWAIT_READY(schedule);
@@ -974,15 +960,13 @@ TYPED_TEST(SlaveRecoveryTest, CleanupExecutor)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> ack =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(ack);
@@ -1182,15 +1166,13 @@ TYPED_TEST(SlaveRecoveryTest, NonCheckpointingFramework)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   Future<Nothing> update;
   EXPECT_CALL(sched, statusUpdate(_, _))
     .WillOnce(FutureSatisfy(&update))
     .WillRepeatedly(Return());        // Ignore subsequent updates.
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait for TASK_RUNNING update.
   AWAIT_READY(update);
@@ -1266,15 +1248,13 @@ TYPED_TEST(SlaveRecoveryTest, KillTask)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> ack =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(ack);
@@ -1387,8 +1367,6 @@ TYPED_TEST(SlaveRecoveryTest, Reboot)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Capture the slave and framework ids.
   SlaveID slaveId = offers1.get()[0].slave_id();
@@ -1402,7 +1380,7 @@ TYPED_TEST(SlaveRecoveryTest, Reboot)
     .WillOnce(FutureSatisfy(&status))
     .WillRepeatedly(Return()); // Ignore subsequent updates.
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Capture the executor ID and PID.
   AWAIT_READY(registerExecutorMessage);
@@ -1524,8 +1502,6 @@ TYPED_TEST(SlaveRecoveryTest, GCExecutor)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Capture the slave and framework ids.
   SlaveID slaveId = offers1.get()[0].slave_id();
@@ -1539,7 +1515,7 @@ TYPED_TEST(SlaveRecoveryTest, GCExecutor)
     .WillOnce(FutureSatisfy(&status))
     .WillRepeatedly(Return()); // Ignore subsequent updates.
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Capture the executor id and pid.
   AWAIT_READY(registerExecutorMessage);
@@ -1678,8 +1654,6 @@ TYPED_TEST(SlaveRecoveryTest, ShutdownSlave)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   Future<Nothing> statusUpdate1;
   EXPECT_CALL(sched, statusUpdate(_, _))
@@ -1689,7 +1663,7 @@ TYPED_TEST(SlaveRecoveryTest, ShutdownSlave)
   Future<Message> registerExecutor =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Capture the executor pid.
   AWAIT_READY(registerExecutor);
@@ -1797,14 +1771,12 @@ TYPED_TEST(SlaveRecoveryTest, ShutdownSlaveSIGUSR1)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   Future<TaskStatus> status;
   EXPECT_CALL(sched, statusUpdate(_, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   ASSERT_EQ(TASK_RUNNING, status.get().state());
@@ -1899,8 +1871,6 @@ TYPED_TEST(SlaveRecoveryTest, RegisterDisconnectedSlave)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Capture the slave and framework ids.
   SlaveID slaveId = offers.get()[0].slave_id();
@@ -1913,7 +1883,7 @@ TYPED_TEST(SlaveRecoveryTest, RegisterDisconnectedSlave)
   EXPECT_CALL(sched, statusUpdate(_, _))
     .WillOnce(FutureSatisfy(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Capture the executor pid.
   AWAIT_READY(registerExecutorMessage);
@@ -2009,8 +1979,6 @@ TYPED_TEST(SlaveRecoveryTest, ReconcileKillTask)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Capture the slave and framework ids.
   SlaveID slaveId = offers1.get()[0].slave_id();
@@ -2022,7 +1990,7 @@ TYPED_TEST(SlaveRecoveryTest, ReconcileKillTask)
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Wait for TASK_RUNNING update to be acknowledged.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2122,10 +2090,8 @@ TYPED_TEST(SlaveRecoveryTest, ReconcileShutdownFramework)
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait for TASK_RUNNING update to be acknowledged.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2223,15 +2189,13 @@ TYPED_TEST(SlaveRecoveryTest, ReconcileTasksMissingFromSlave)
   // We'll ensure the slave does not have this task when it
   // re-registers by wiping the relevant meta directory.
   TaskInfo task = createTask(offers1.get()[0], "sleep 10");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2384,15 +2348,13 @@ TYPED_TEST(SlaveRecoveryTest, SchedulerFailover)
 
   // Create a long running task.
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   EXPECT_CALL(sched1, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver1.launchTasks(offers1.get()[0].id(), tasks);
+  driver1.launchTasks(offers1.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2544,15 +2506,13 @@ TYPED_TEST(SlaveRecoveryTest, PartitionedSlave)
 
   // Long running task.
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2680,15 +2640,13 @@ TYPED_TEST(SlaveRecoveryTest, MasterFailover)
   EXPECT_NE(0u, offers1.get().size());
 
   TaskInfo task = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   EXPECT_CALL(sched, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks);
+  driver.launchTasks(offers1.get()[0].id(), {task});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement);
@@ -2825,15 +2783,13 @@ TYPED_TEST(SlaveRecoveryTest, MultipleFrameworks)
 
   // Framework 1 launches a task.
   TaskInfo task1 = createTask(offer1, "sleep 1000");
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1); // Long-running task.
 
   EXPECT_CALL(sched1, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement1 =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
 
-  driver1.launchTasks(offer1.id(), tasks1);
+  driver1.launchTasks(offer1.id(), {task1});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement1);
@@ -2863,14 +2819,11 @@ TYPED_TEST(SlaveRecoveryTest, MultipleFrameworks)
   // Framework 2 launches a task.
   TaskInfo task2 = createTask(offers2.get()[0], "sleep 1000");
 
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2); // Long-running task.
-
   EXPECT_CALL(sched2, statusUpdate(_, _));
 
   Future<Nothing> _statusUpdateAcknowledgement2 =
     FUTURE_DISPATCH(_, &Slave::_statusUpdateAcknowledgement);
-  driver2.launchTasks(offers2.get()[0].id(), tasks2);
+  driver2.launchTasks(offers2.get()[0].id(), {task2});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement2);
@@ -2996,8 +2949,6 @@ TYPED_TEST(SlaveRecoveryTest, MultipleSlaves)
 
   // Launch a long running task in the first slave.
   TaskInfo task1 = createTask(offers1.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
 
   EXPECT_CALL(sched, statusUpdate(_, _))
     .Times(1);
@@ -3005,7 +2956,7 @@ TYPED_TEST(SlaveRecoveryTest, MultipleSlaves)
   Future<Nothing> _statusUpdateAcknowledgement1 =
     FUTURE_DISPATCH(slave1.get(), &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   // Wait for the ACK to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement1);
@@ -3033,8 +2984,6 @@ TYPED_TEST(SlaveRecoveryTest, MultipleSlaves)
 
   // Launch a long running task in each slave.
   TaskInfo task2 = createTask(offers2.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
 
   EXPECT_CALL(sched, statusUpdate(_, _))
     .Times(1);
@@ -3042,7 +2991,7 @@ TYPED_TEST(SlaveRecoveryTest, MultipleSlaves)
   Future<Nothing> _statusUpdateAcknowledgement2 =
     FUTURE_DISPATCH(slave2.get(), &Slave::_statusUpdateAcknowledgement);
 
-  driver.launchTasks(offers2.get()[0].id(), tasks2);
+  driver.launchTasks(offers2.get()[0].id(), {task2});
 
   // Wait for the ACKs to be checkpointed.
   AWAIT_READY(_statusUpdateAcknowledgement2);
@@ -3164,8 +3113,6 @@ TYPED_TEST(SlaveRecoveryTest, RestartBeforeContainerizerLaunch)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Expect the launch but don't do anything.
   Future<Nothing> launch;
@@ -3177,7 +3124,7 @@ TYPED_TEST(SlaveRecoveryTest, RestartBeforeContainerizerLaunch)
   EXPECT_CALL(sched, statusUpdate(_, _))
     .Times(0);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Once we see the call to launch, restart the slave.
   AWAIT_READY(launch);
@@ -3266,14 +3213,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, ResourceStatistics)
   EXPECT_NE(0u, offers.get().size());
 
   TaskInfo task = createTask(offers.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks;
-  tasks.push_back(task); // Long-running task.
 
   // Message expectations.
   Future<Message> registerExecutor =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(registerExecutor);
 
@@ -3378,14 +3323,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PerfRollForward)
 
   TaskInfo task1 = createTask(
       slaveId, Resources::parse("cpus:0.5;mem:128").get(), "sleep 1000");
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
 
   // Message expectations.
   Future<Message> registerExecutor =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   AWAIT_READY(registerExecutor);
 
@@ -3441,14 +3384,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PerfRollForward)
 
   // Start a new container which will start reporting perf statistics.
   TaskInfo task2 = createTask(offers2.get()[0], "sleep 1000");
-  vector<TaskInfo> tasks2;
-  tasks2.push_back(task2);
 
   // Message expectations.
   registerExecutor =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers2.get()[0].id(), tasks2);
+  driver.launchTasks(offers2.get()[0].id(), {task2});
 
   AWAIT_READY(registerExecutor);
 
@@ -3528,14 +3469,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PidNamespaceForward)
 
   TaskInfo task1 = createTask(
       slaveId, Resources::parse("cpus:0.5;mem:128").get(), "sleep 1000");
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
 
   // Message expectations.
   Future<Message> registerExecutorMessage =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   AWAIT_READY(registerExecutorMessage);
 
@@ -3634,14 +3573,12 @@ TEST_F(MesosContainerizerSlaveRecoveryTest, CGROUPS_ROOT_PidNamespaceBackward)
 
   TaskInfo task1 = createTask(
       slaveId, Resources::parse("cpus:0.5;mem:128").get(), "sleep 1000");
-  vector<TaskInfo> tasks1;
-  tasks1.push_back(task1);
 
   // Message expectations.
   Future<Message> registerExecutorMessage =
     FUTURE_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers1.get()[0].id(), tasks1);
+  driver.launchTasks(offers1.get()[0].id(), {task1});
 
   AWAIT_READY(registerExecutorMessage);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/341e23fc/src/tests/slave_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/slave_tests.cpp b/src/tests/slave_tests.cpp
index e1390ad..b145d76 100644
--- a/src/tests/slave_tests.cpp
+++ b/src/tests/slave_tests.cpp
@@ -199,14 +199,11 @@ TEST_F(SlaveTest, ShutdownUnregisteredExecutor)
 
   task.mutable_command()->MergeFrom(command);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // Drop the registration message from the executor to the slave.
   Future<Message> registerExecutor =
     DROP_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(registerExecutor);
 
@@ -283,14 +280,11 @@ TEST_F(SlaveTest, RemoveUnregisteredTerminatedExecutor)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // Drop the registration message from the executor to the slave.
   Future<Message> registerExecutorMessage =
     DROP_MESSAGE(Eq(RegisterExecutorMessage().GetTypeName()), _, _);
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(registerExecutorMessage);
 
@@ -364,9 +358,6 @@ TEST_F(SlaveTest, CommandExecutorWithOverride)
 
   task.mutable_command()->MergeFrom(command);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   // Expect the launch and just assume it was sucessful since we'll be
   // launching the executor ourselves manually below.
   Future<Nothing> launch;
@@ -382,7 +373,7 @@ TEST_F(SlaveTest, CommandExecutorWithOverride)
     .WillOnce(DoAll(FutureSatisfy(&wait),
                     Return(promise.future())));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Once we get the launch the mesos-executor with --override.
   AWAIT_READY(launch);
@@ -514,16 +505,13 @@ TEST_F(SlaveTest, ComamndTaskWithArguments)
 
   task.mutable_command()->MergeFrom(command);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> statusRunning;
   Future<TaskStatus> statusFinished;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Scheduler should first receive TASK_RUNNING followed by the
   // TASK_FINISHED from the executor.
@@ -643,16 +631,13 @@ TEST_F(SlaveTest, ROOT_RunTaskWithCommandInfoWithoutUser)
 
   task.mutable_command()->MergeFrom(command);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> statusRunning;
   Future<TaskStatus> statusFinished;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Scheduler should first receive TASK_RUNNING followed by the
   // TASK_FINISHED from the executor.
@@ -752,14 +737,11 @@ TEST_F(SlaveTest, DISABLED_ROOT_RunTaskWithCommandInfoWithUser)
   prepareCommand.add_arguments(user.get());
   prepareTask.mutable_command()->CopyFrom(prepareCommand);
 
-  vector<TaskInfo> prepareTasks;
-  prepareTasks.push_back(prepareTask);
-
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), prepareTasks);
+  driver.launchTasks(offers.get()[0].id(), {prepareTask});
 
   // Scheduler should first receive TASK_RUNNING followed by the
   // TASK_FINISHED from the executor.
@@ -794,14 +776,12 @@ TEST_F(SlaveTest, DISABLED_ROOT_RunTaskWithCommandInfoWithUser)
   command.add_arguments(testUser);
 
   task.mutable_command()->CopyFrom(command);
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
 
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Scheduler should first receive TASK_RUNNING followed by the
   // TASK_FINISHED from the executor.
@@ -858,9 +838,6 @@ TEST_F(SlaveTest, IgnoreNonLeaderStatusUpdateAcknowledgement)
 
   TaskInfo task = createTask(offers.get()[0], "", DEFAULT_EXECUTOR_ID);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<ExecutorDriver*> execDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(FutureArg<0>(&execDriver));
@@ -885,7 +862,7 @@ TEST_F(SlaveTest, IgnoreNonLeaderStatusUpdateAcknowledgement)
   Future<Nothing> _statusUpdateAcknowledgement =
     FUTURE_DISPATCH(slave.get(), &Slave::_statusUpdateAcknowledgement);
 
-  schedDriver.launchTasks(offers.get()[0].id(), tasks);
+  schedDriver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(update);
   EXPECT_EQ(TASK_RUNNING, update.get().state());
@@ -1166,8 +1143,6 @@ TEST_F(SlaveTest, StateEndpoint)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  const vector<TaskInfo> tasks = {task};
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -1178,7 +1153,7 @@ TEST_F(SlaveTest, StateEndpoint)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -1794,9 +1769,6 @@ TEST_F(SlaveTest, KillTaskBetweenRunTaskParts)
   task.mutable_resources()->MergeFrom(offers.get()[0].resources());
   task.mutable_executor()->MergeFrom(DEFAULT_EXECUTOR_INFO);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(0);
 
@@ -1826,7 +1798,7 @@ TEST_F(SlaveTest, KillTaskBetweenRunTaskParts)
                     SaveArg<0>(&future),
                     SaveArg<1>(&frameworkInfo)));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(_runTask);
 
@@ -2083,9 +2055,6 @@ TEST_F(SlaveTest, TaskLabels)
   labels->add_labels()->CopyFrom(createLabel("bar", "baz"));
   labels->add_labels()->CopyFrom(createLabel("bar", "qux"));
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   EXPECT_CALL(exec, registered(_, _, _, _))
     .Times(1);
 
@@ -2102,7 +2071,7 @@ TEST_F(SlaveTest, TaskLabels)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(status);
   EXPECT_EQ(TASK_RUNNING, status.get().state());
@@ -2179,9 +2148,6 @@ TEST_F(SlaveTest, TaskStatusLabels)
 
   TaskInfo task = createTask(offers.get()[0], "sleep 100", DEFAULT_EXECUTOR_ID);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   ExecutorDriver* execDriver;
   EXPECT_CALL(exec, registered(_, _, _, _))
     .WillOnce(SaveArg<0>(&execDriver));
@@ -2194,7 +2160,7 @@ TEST_F(SlaveTest, TaskStatusLabels)
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&status));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   AWAIT_READY(execTask);
 
@@ -2303,16 +2269,13 @@ TEST_F(SlaveTest, ExecutorEnvironmentVariables)
 
   task.mutable_command()->MergeFrom(command);
 
-  vector<TaskInfo> tasks;
-  tasks.push_back(task);
-
   Future<TaskStatus> statusRunning;
   Future<TaskStatus> statusFinished;
   EXPECT_CALL(sched, statusUpdate(&driver, _))
     .WillOnce(FutureArg<1>(&statusRunning))
     .WillOnce(FutureArg<1>(&statusFinished));
 
-  driver.launchTasks(offers.get()[0].id(), tasks);
+  driver.launchTasks(offers.get()[0].id(), {task});
 
   // Scheduler should first receive TASK_RUNNING followed by the
   // TASK_FINISHED from the executor.