MCPcopy Create free account
hub / github.com/apache/mesos / TEST_F

Function TEST_F

src/tests/container_logger_tests.cpp:112–208  ·  view source on GitHub ↗

Tests that the default container logger writes files into the sandbox.

Source from the content-addressed store, hash-verified

110
111// Tests that the default container logger writes files into the sandbox.
112TEST_F(ContainerLoggerTest, DefaultToSandbox)
113{
114 // Create a master, agent, and framework.
115 Try<Owned<cluster::Master>> master = StartMaster();
116 ASSERT_SOME(master);
117
118 Future<SlaveRegisteredMessage> slaveRegisteredMessage =
119 FUTURE_PROTOBUF(SlaveRegisteredMessage(), _, _);
120
121 // We'll need access to these flags later.
122 slave::Flags flags = CreateSlaveFlags();
123
124 Fetcher fetcher(flags);
125
126 // We use an actual containerizer + executor since we want something to run.
127 Try<MesosContainerizer*> _containerizer =
128 MesosContainerizer::create(flags, false, &fetcher);
129
130 ASSERT_SOME(_containerizer);
131 Owned<MesosContainerizer> containerizer(_containerizer.get());
132
133 Owned<MasterDetector> detector = master.get()->createDetector();
134
135 Try<Owned<cluster::Slave>> slave =
136 StartSlave(detector.get(), containerizer.get(), flags);
137 ASSERT_SOME(slave);
138
139 AWAIT_READY(slaveRegisteredMessage);
140 SlaveID slaveId = slaveRegisteredMessage->slave_id();
141
142 MockScheduler sched;
143 MesosSchedulerDriver driver(
144 &sched, DEFAULT_FRAMEWORK_INFO, master.get()->pid, DEFAULT_CREDENTIAL);
145
146 Future<FrameworkID> frameworkId;
147 EXPECT_CALL(sched, registered(&driver, _, _))
148 .WillOnce(FutureArg<1>(&frameworkId));
149
150 // Wait for an offer, and start a task.
151 Future<vector<Offer>> offers;
152 EXPECT_CALL(sched, resourceOffers(&driver, _))
153 .WillOnce(FutureArg<1>(&offers))
154 .WillRepeatedly(Return()); // Ignore subsequent offers.
155
156 driver.start();
157 AWAIT_READY(frameworkId);
158
159 AWAIT_READY(offers);
160 ASSERT_FALSE(offers->empty());
161
162 // We'll start a task that outputs to stdout.
163 TaskInfo task = createTask(offers.get()[0], "echo 'Hello World!'");
164
165 Future<TaskStatus> statusStarting;
166 Future<TaskStatus> statusRunning;
167 Future<TaskStatus> statusFinished;
168 EXPECT_CALL(sched, statusUpdate(&driver, _))
169 .WillOnce(FutureArg<1>(&statusStarting))

Callers

nothing calls this directly

Calls 15

getExecutorPathFunction · 0.85
pstreeFunction · 0.85
createDetectorMethod · 0.80
createTaskFunction · 0.70
startMethod · 0.65
launchTasksMethod · 0.65
stopMethod · 0.65
joinMethod · 0.65
killTaskMethod · 0.65
createFunction · 0.50
joinFunction · 0.50
existsFunction · 0.50

Tested by

no test coverage detected