strace/tests/uname.c
Fei Jie 68a58a301f tests: add uname.test
* tests/uname.c: New file.
* tests/uname.test: New test.
* tests/.gitignore: Add uname.
* tests/Makefile.am (check_PROGRAMS): Likewise.
(TESTS): Add uname.test.
2016-03-01 08:55:35 +00:00

39 lines
760 B
C

#include "tests.h"
#include <sys/syscall.h>
#ifdef __NR_uname
# include <stdio.h>
# include <sys/utsname.h>
# include <unistd.h>
int main()
{
struct utsname *const uname = tail_alloc(sizeof(struct utsname));
int rc = syscall(__NR_uname, uname);
printf("uname({sysname=\"%s\", nodename=\"%s\", release=\"%s\""
", version=\"%s\", machine=\"%s\""
# ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
", domainname=\"%s\""
# endif
"}) = %d\n",
uname->sysname,
uname->nodename,
uname->release,
uname->version,
uname->machine,
# ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
uname->domainname,
# endif
rc);
puts("+++ exited with 0 +++");
return 0;
}
#else
SKIP_MAIN_UNDEFINED("__NR_uname")
#endif