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

Function TEST_P

src/tests/containerizer/cpu_isolator_tests.cpp:71–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69
70
71TEST_P(CpuIsolatorTest, ROOT_UserCpuUsage)
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 // Max out a single core in userspace. This will run for at most one
116 // second.
117 TaskInfo task = createTask(
118 offers.get()[0],
119#ifdef __WINDOWS__
120 "powershell -c \"while ($true) {}\""
121#else
122 "while true ; do true ; done & sleep 60"
123#endif // __WINDOWS__
124 );
125
126 Future<TaskStatus> statusStarting;
127 Future<TaskStatus> statusRunning;
128 EXPECT_CALL(sched, statusUpdate(&driver, _))

Callers

nothing calls this directly

Calls 15

MillisecondsClass · 0.85
SecondsClass · 0.85
createDetectorMethod · 0.80
startMethod · 0.65
launchTasksMethod · 0.65
stopMethod · 0.65
joinMethod · 0.65
createFunction · 0.50
createTaskFunction · 0.50
sleepFunction · 0.50
getMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected