#include <cmocka.h>
#include <errno.h>
+#include <grp.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
+#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0]))
+
#define TEST_MOCK_EXECUTABLE "mock_exec_uid"
static void test_uwrap_fork_exec(void **state)
pid_t pid;
int rc;
uid_t cp_ruid, cp_euid, cp_suid;
+ gid_t glist[] = {0, 10000, 20000, 40000, 100000};
(void)state; /* unused */
rc = setgid(5000);
assert_return_code(rc, errno);
+ rc = setgroups(ARRAY_SIZE(glist), glist);
+ assert_return_code(rc, errno);
+
pid = fork();
assert_return_code(pid, errno);