From: Fei Jie Date: Tue, 1 Mar 2016 08:55:35 +0000 (+0800) Subject: tests: add uname.test X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=68a58a301f9825b85b0d2dbf4c2fc248692de3e1;p=strace 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. --- diff --git a/tests/.gitignore b/tests/.gitignore index bdce2dbb..e79d3174 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -124,6 +124,7 @@ umount umount2 umovestr umovestr2 +uname unix-pair-send-recv userfaultfd utime diff --git a/tests/Makefile.am b/tests/Makefile.am index 54f3d5b9..d924b9a4 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -172,6 +172,7 @@ check_PROGRAMS = \ umount2 \ umovestr \ umovestr2 \ + uname \ unix-pair-send-recv \ userfaultfd \ utime \ @@ -326,6 +327,7 @@ TESTS = \ umount2.test \ umovestr.test \ umovestr2.test \ + uname.test \ userfaultfd.test \ utime.test \ utimensat.test \ diff --git a/tests/uname.c b/tests/uname.c new file mode 100644 index 00000000..0f1b5f34 --- /dev/null +++ b/tests/uname.c @@ -0,0 +1,38 @@ +#include "tests.h" +#include + +#ifdef __NR_uname + +# include +# include +# include + +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 diff --git a/tests/uname.test b/tests/uname.test new file mode 100755 index 00000000..d11af15d --- /dev/null +++ b/tests/uname.test @@ -0,0 +1,11 @@ +#!/bin/sh + +# Check uname syscall decoding. + +. "${srcdir=.}/init.sh" + +run_prog > /dev/null +OUT="$LOG.out" +run_strace -v -euname $args >"$OUT" +match_diff "$LOG" "$OUT" +rm -f "$OUT"