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

Function TEST_P

src/tests/containerizer/memory_isolator_tests.cpp:71–155  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69
70
71TEST_P(MemoryIsolatorTest, ROOT_MemUsage)
72{
73 Try<Owned<cluster::Master>> master = StartMaster();
74 ASSERT_SOME(master);
75
76 slave::Flags flags = CreateSlaveFlags();
77 flags.isolation = GetParam();
78
79 Fetcher fetcher(flags);
80
81 Try<MesosContainerizer*> _containerizer =
82 MesosContainerizer::create(flags, true, &fetcher);
83
84 ASSERT_SOME(_containerizer);
85
86 Owned<MesosContainerizer> containerizer(_containerizer.get());
87
88 Owned<MasterDetector> detector = master.get()->createDetector();
89
90 Try<Owned<cluster::Slave>> slave = StartSlave(
91 detector.get(),
92 containerizer.get());
93
94 ASSERT_SOME(slave);
95
96 MockScheduler sched;
97 MesosSchedulerDriver driver(
98 &sched,
99 DEFAULT_FRAMEWORK_INFO,
100 master.get()->pid,
101 DEFAULT_CREDENTIAL);
102
103 EXPECT_CALL(sched, registered(&driver, _, _));
104
105 Future<vector<Offer>> offers;
106 EXPECT_CALL(sched, resourceOffers(&driver, _))
107 .WillOnce(FutureArg<1>(&offers))
108 .WillRepeatedly(Return()); // Ignore subsequent offers.
109
110 driver.start();
111
112 AWAIT_READY(offers);
113 ASSERT_FALSE(offers->empty());
114
115 TaskInfo task = createTask(offers.get()[0], SLEEP_COMMAND(120));
116
117 Future<TaskStatus> statusStarting;
118 Future<TaskStatus> statusRunning;
119 EXPECT_CALL(sched, statusUpdate(&driver, _))
120 .WillOnce(FutureArg<1>(&statusStarting))
121 .WillOnce(FutureArg<1>(&statusRunning));
122
123 driver.launchTasks(offers.get()[0].id(), {task});
124
125 AWAIT_READY(statusStarting);
126 EXPECT_EQ(TASK_STARTING, statusStarting->state());
127
128 AWAIT_READY(statusRunning);

Callers

nothing calls this directly

Calls 15

createDetectorMethod · 0.80
startMethod · 0.65
launchTasksMethod · 0.65
stopMethod · 0.65
joinMethod · 0.65
createFunction · 0.50
createTaskFunction · 0.50
getMethod · 0.45
emptyMethod · 0.45
idMethod · 0.45
stateMethod · 0.45
containersMethod · 0.45

Tested by

no test coverage detected