lib: extract igt_drop_root

Useful in other tests.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
Daniel Vetter 2014-01-19 22:06:48 +01:00
parent 70082e3677
commit 862de5636f
3 changed files with 16 additions and 13 deletions

View File

@ -1659,3 +1659,14 @@ void igt_system_suspend_autoresume(void)
ret = system("rtcwake -s 30 -m mem");
igt_assert(ret == 0);
}
void igt_drop_root(void)
{
igt_assert(getuid() == 0);
igt_assert(setgid(2) == 0);
igt_assert(setuid(2) == 0);
igt_assert(getgid() == 2);
igt_assert(getuid() == 2);
}

View File

@ -357,4 +357,7 @@ void igt_enable_prefault(void);
/* suspend and auto-resume system */
void igt_system_suspend_autoresume(void);
/* dropping priviledges */
void igt_drop_root(void);
#endif /* DRMTEST_H */

View File

@ -874,17 +874,6 @@ static void test_close_pending_fork(const bool reverse)
close(fd);
}
static void drop_root(void)
{
igt_assert(getuid() == 0);
igt_assert(setgid(2) == 0);
igt_assert(setuid(2) == 0);
igt_assert(getgid() == 2);
igt_assert(getuid() == 2);
}
static void test_reset_count(const bool create_ctx)
{
int fd, h, ctx;
@ -912,7 +901,7 @@ static void test_reset_count(const bool create_ctx)
igt_assert(c2 == (c1 + 1));
igt_fork(child, 1) {
drop_root();
igt_drop_root();
c2 = get_reset_count(fd, ctx);
@ -988,7 +977,7 @@ static void _test_param(const int fd, const int ctx)
igt_fork(child, 1) {
check_params(fd, ctx, root);
drop_root();
igt_drop_root();
check_params(fd, ctx, user);
}