Lines Matching refs:self
131 self->nsfds[i] = -EBADF; in FIXTURE_SETUP()
132 self->child_nsfds1[i] = -EBADF; in FIXTURE_SETUP()
133 self->child_nsfds2[i] = -EBADF; in FIXTURE_SETUP()
141 self->pid = getpid(); in FIXTURE_SETUP()
144 self->nsfds[i] = openat(proc_fd, info->name, O_RDONLY | O_CLOEXEC); in FIXTURE_SETUP()
145 if (self->nsfds[i] < 0) { in FIXTURE_SETUP()
148 info->name, self->pid); in FIXTURE_SETUP()
153 self->pidfd = sys_pidfd_open(self->pid, 0); in FIXTURE_SETUP()
154 EXPECT_GT(self->pidfd, 0) { in FIXTURE_SETUP()
155 TH_LOG("%m - Failed to open pidfd for process %d", self->pid); in FIXTURE_SETUP()
159 self->child_pid_exited = create_child(&self->child_pidfd_exited, in FIXTURE_SETUP()
161 EXPECT_GT(self->child_pid_exited, 0); in FIXTURE_SETUP()
163 if (self->child_pid_exited == 0) in FIXTURE_SETUP()
166 ASSERT_EQ(sys_waitid(P_PID, self->child_pid_exited, WEXITED | WNOWAIT), 0); in FIXTURE_SETUP()
168 self->pidfd = sys_pidfd_open(self->pid, 0); in FIXTURE_SETUP()
169 EXPECT_GE(self->pidfd, 0) { in FIXTURE_SETUP()
170 TH_LOG("%m - Failed to open pidfd for process %d", self->pid); in FIXTURE_SETUP()
177 self->child_pid1 = create_child(&self->child_pidfd1, in FIXTURE_SETUP()
182 EXPECT_GE(self->child_pid1, 0); in FIXTURE_SETUP()
184 if (self->child_pid1 == 0) { in FIXTURE_SETUP()
206 self->child_pid2 = create_child(&self->child_pidfd2, in FIXTURE_SETUP()
211 EXPECT_GE(self->child_pid2, 0); in FIXTURE_SETUP()
213 if (self->child_pid2 == 0) { in FIXTURE_SETUP()
237 self->nsfds[i] = openat(proc_fd, info->name, O_RDONLY | O_CLOEXEC); in FIXTURE_SETUP()
238 if (self->nsfds[i] < 0) { in FIXTURE_SETUP()
241 info->name, self->pid); in FIXTURE_SETUP()
246 self->child_pid1, info->name); in FIXTURE_SETUP()
250 self->child_nsfds1[i] = open(p, O_RDONLY | O_CLOEXEC); in FIXTURE_SETUP()
251 if (self->child_nsfds1[i] < 0) { in FIXTURE_SETUP()
254 info->name, self->child_pid1); in FIXTURE_SETUP()
259 self->child_pid2, info->name); in FIXTURE_SETUP()
263 self->child_nsfds2[i] = open(p, O_RDONLY | O_CLOEXEC); in FIXTURE_SETUP()
264 if (self->child_nsfds2[i] < 0) { in FIXTURE_SETUP()
267 info->name, self->child_pid1); in FIXTURE_SETUP()
279 ASSERT_EQ(sys_pidfd_send_signal(self->child_pidfd1, in FIXTURE_TEARDOWN()
281 ASSERT_EQ(sys_pidfd_send_signal(self->child_pidfd2, in FIXTURE_TEARDOWN()
285 if (self->nsfds[i] >= 0) in FIXTURE_TEARDOWN()
286 close(self->nsfds[i]); in FIXTURE_TEARDOWN()
287 if (self->child_nsfds1[i] >= 0) in FIXTURE_TEARDOWN()
288 close(self->child_nsfds1[i]); in FIXTURE_TEARDOWN()
289 if (self->child_nsfds2[i] >= 0) in FIXTURE_TEARDOWN()
290 close(self->child_nsfds2[i]); in FIXTURE_TEARDOWN()
293 if (self->child_pidfd1 >= 0) in FIXTURE_TEARDOWN()
294 EXPECT_EQ(0, close(self->child_pidfd1)); in FIXTURE_TEARDOWN()
295 if (self->child_pidfd2 >= 0) in FIXTURE_TEARDOWN()
296 EXPECT_EQ(0, close(self->child_pidfd2)); in FIXTURE_TEARDOWN()
297 ASSERT_EQ(sys_waitid(P_PID, self->child_pid_exited, WEXITED), 0); in FIXTURE_TEARDOWN()
298 ASSERT_EQ(sys_waitid(P_PID, self->child_pid1, WEXITED), 0); in FIXTURE_TEARDOWN()
299 ASSERT_EQ(sys_waitid(P_PID, self->child_pid2, WEXITED), 0); in FIXTURE_TEARDOWN()
345 ASSERT_NE(setns(self->pidfd, 0), 0); in TEST_F()
348 ASSERT_NE(setns(self->pidfd, -1), 0); in TEST_F()
351 ASSERT_NE(setns(self->pidfd, CLONE_VM), 0); in TEST_F()
354 ASSERT_NE(setns(self->pidfd, CLONE_NEWUSER | CLONE_VM), 0); in TEST_F()
364 ASSERT_NE(setns(self->child_pidfd_exited, CLONE_NEWUSER | CLONE_NEWNET), in TEST_F()
372 if (self->nsfds[i] >= 0) in TEST_F()
373 ASSERT_EQ(in_same_namespace(self->nsfds[i], pid, info->name), 1); in TEST_F()
387 if (self->child_nsfds1[i] < 0) in TEST_F()
391 ASSERT_EQ(setns(self->child_pidfd1, info->flag), 0) { in TEST_F()
393 info->name, self->child_pid1, in TEST_F()
394 self->child_pidfd1); in TEST_F()
400 nsfd = self->nsfds[i]; in TEST_F()
402 nsfd = self->child_nsfds1[i]; in TEST_F()
405 info->name, self->child_pid1, in TEST_F()
406 self->child_pidfd1); in TEST_F()
409 info->name, self->child_pid1, self->child_pidfd1); in TEST_F()
423 if (self->child_nsfds1[i] < 0) in TEST_F()
427 ASSERT_EQ(setns(self->child_nsfds1[i], info->flag), 0) { in TEST_F()
429 info->name, self->child_pid1, in TEST_F()
430 self->child_nsfds1[i]); in TEST_F()
436 nsfd = self->nsfds[i]; in TEST_F()
438 nsfd = self->child_nsfds1[i]; in TEST_F()
441 info->name, self->child_pid1, in TEST_F()
442 self->child_nsfds1[i]); in TEST_F()
445 info->name, self->child_pid1, self->child_nsfds1[i]); in TEST_F()
458 if (self->child_nsfds1[i] < 0) in TEST_F()
463 info->name, self->child_pid1); in TEST_F()
466 ASSERT_EQ(setns(self->child_pidfd1, flags), 0) { in TEST_F()
468 self->child_pid1); in TEST_F()
476 if (self->child_nsfds1[i] < 0) in TEST_F()
481 nsfd = self->nsfds[i]; in TEST_F()
483 nsfd = self->child_nsfds1[i]; in TEST_F()
486 info->name, self->child_pid1); in TEST_F()
489 info->name, self->child_pid1); in TEST_F()
501 if (self->child_nsfds1[i] < 0) in TEST_F()
507 info->name, self->child_pid1); in TEST_F()
510 ASSERT_EQ(setns(self->child_pidfd1, flags), 0) { in TEST_F()
512 self->child_pid1, self->child_pidfd1); in TEST_F()
524 if (self->child_nsfds2[i] < 0 || !info->flag) in TEST_F()
527 ASSERT_NE(setns(self->child_pidfd2, info->flag), 0) { in TEST_F()
529 info->name, self->child_pid2, in TEST_F()
530 self->child_pidfd2); in TEST_F()
533 info->name, self->child_pid2, in TEST_F()
534 self->child_pidfd2); in TEST_F()
536 ASSERT_NE(setns(self->child_nsfds2[i], info->flag), 0) { in TEST_F()
538 info->name, self->child_pid2, in TEST_F()
539 self->child_nsfds2[i]); in TEST_F()
542 info->name, self->child_pid2, in TEST_F()
543 self->child_nsfds2[i]); in TEST_F()