occlum/test/system_info/main.c
2021-06-10 20:14:37 +08:00

49 lines
1.3 KiB
C

#include <sys/utsname.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include "test.h"
static int test_uname() {
struct utsname name;
uname(&name);
printf("sysname = %s\n", (const char *)&name.sysname);
printf("nodename = %s\n", (const char *)&name.nodename);
printf("release = %s\n", (const char *)&name.release);
printf("version = %s\n", (const char *)&name.version);
printf("machine = %s\n", (const char *)&name.machine);
printf("domainname = %s\n", (const char *)&name.__domainname);
return 0;
}
static int test_getgroups() {
int group_num = getgroups(0, NULL);
if (group_num != 1) {
THROW_ERROR("getgroups failed to get size");
}
gid_t group_list[1] = {1};
group_num = getgroups(group_num, group_list);
printf("group_num %d group %d\n", group_num, group_list[0]);
if (group_num != 1 || group_list[0] != 0) {
THROW_ERROR("getgroups failed to get group_list");
}
return 0;
}
// ============================================================================
// Test suite main
// ============================================================================
static test_case_t test_cases[] = {
TEST_CASE(test_uname),
TEST_CASE(test_getgroups),
};
int main(int argc, const char *argv[]) {
return test_suite_run(test_cases, ARRAY_SIZE(test_cases));
}