This test verifies that the default executor can launch a task group.
| 122 | |
| 123 | // This test verifies that the default executor can launch a task group. |
| 124 | TEST_P(DefaultExecutorTest, TaskRunning) |
| 125 | { |
| 126 | Try<Owned<cluster::Master>> master = StartMaster(); |
| 127 | ASSERT_SOME(master); |
| 128 | |
| 129 | slave::Flags flags = CreateSlaveFlags(); |
| 130 | flags.containerizers = GetParam(); |
| 131 | |
| 132 | Owned<MasterDetector> detector = master.get()->createDetector(); |
| 133 | Try<Owned<cluster::Slave>> slave = StartSlave(detector.get(), flags); |
| 134 | ASSERT_SOME(slave); |
| 135 | |
| 136 | auto scheduler = std::make_shared<v1::MockHTTPScheduler>(); |
| 137 | |
| 138 | EXPECT_CALL(*scheduler, connected(_)) |
| 139 | .WillOnce(v1::scheduler::SendSubscribe(v1::DEFAULT_FRAMEWORK_INFO)); |
| 140 | |
| 141 | Future<v1::scheduler::Event::Subscribed> subscribed; |
| 142 | EXPECT_CALL(*scheduler, subscribed(_, _)) |
| 143 | .WillOnce(FutureArg<1>(&subscribed)); |
| 144 | |
| 145 | Future<v1::scheduler::Event::Offers> offers; |
| 146 | EXPECT_CALL(*scheduler, offers(_, _)) |
| 147 | .WillOnce(FutureArg<1>(&offers)) |
| 148 | .WillRepeatedly(Return()); |
| 149 | |
| 150 | EXPECT_CALL(*scheduler, heartbeat(_)) |
| 151 | .WillRepeatedly(Return()); // Ignore heartbeats. |
| 152 | |
| 153 | v1::scheduler::TestMesos mesos( |
| 154 | master.get()->pid, |
| 155 | ContentType::PROTOBUF, |
| 156 | scheduler); |
| 157 | |
| 158 | AWAIT_READY(subscribed); |
| 159 | v1::FrameworkID frameworkId(subscribed->framework_id()); |
| 160 | |
| 161 | v1::Resources resources = |
| 162 | v1::Resources::parse("cpus:0.1;mem:32;disk:32").get(); |
| 163 | |
| 164 | v1::ExecutorInfo executorInfo = v1::createExecutorInfo( |
| 165 | v1::DEFAULT_EXECUTOR_ID, |
| 166 | None(), |
| 167 | resources, |
| 168 | v1::ExecutorInfo::DEFAULT, |
| 169 | frameworkId); |
| 170 | |
| 171 | AWAIT_READY(offers); |
| 172 | ASSERT_FALSE(offers->offers().empty()); |
| 173 | |
| 174 | const v1::Offer& offer = offers->offers(0); |
| 175 | const v1::AgentID& agentId = offer.agent_id(); |
| 176 | |
| 177 | Future<v1::scheduler::Event::Update> startingUpdate; |
| 178 | Future<v1::scheduler::Event::Update> runningUpdate; |
| 179 | EXPECT_CALL(*scheduler, update(_, _)) |
| 180 | .WillOnce(DoAll( |
| 181 | FutureArg<1>(&startingUpdate), |
nothing calls this directly
no test coverage detected