From: Fei Jie Date: Thu, 31 Mar 2016 08:06:52 +0000 (+0800) Subject: tests: add chroot.test X-Git-Tag: v4.12~461 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d82b0d8ceb177750502b1bb31aa628673a90550d;p=strace tests: add chroot.test * tests/chroot.c: New file. * tests/chroot.test: New test. * tests/.gitignore: Add chroot. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add chroot.test. --- diff --git a/tests/.gitignore b/tests/.gitignore index 9ab1aaed..7e222741 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -16,6 +16,7 @@ attach-p-cmd-p bpf caps chmod +chroot clock_nanosleep clock_xettime copy_file_range diff --git a/tests/Makefile.am b/tests/Makefile.am index da972713..5dc7ad09 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -67,6 +67,7 @@ check_PROGRAMS = \ bpf \ caps \ chmod \ + chroot \ clock_nanosleep \ clock_xettime \ copy_file_range \ @@ -255,6 +256,7 @@ DECODER_TESTS = \ bpf.test \ caps.test \ chmod.test \ + chroot.test \ clock_nanosleep.test \ clock_xettime.test \ copy_file_range.test \ diff --git a/tests/chroot.c b/tests/chroot.c new file mode 100644 index 00000000..fb12a316 --- /dev/null +++ b/tests/chroot.c @@ -0,0 +1,37 @@ +#include "tests.h" +#include + +#ifdef __NR_chroot + +# include +# include +# include + +int +main(void) +{ + static const char sample[] = "chroot.sample"; + int rc = syscall(__NR_chroot ,sample); + const char *errno_text; + switch (errno) { + case ENOSYS: + errno_text = "ENOSYS"; + break; + case EPERM: + errno_text = "EPERM"; + break; + default: + errno_text = "ENOENT"; + } + printf("chroot(\"%s\") = %d %s (%m)\n", + sample, rc, errno_text); + + puts("+++ exited with 0 +++"); + return 0; +} + +#else + +SKIP_MAIN_UNDEFINED("__NR_chroot") + +#endif diff --git a/tests/chroot.test b/tests/chroot.test new file mode 100755 index 00000000..3b384f5e --- /dev/null +++ b/tests/chroot.test @@ -0,0 +1,6 @@ +#!/bin/sh + +# Check chroot syscall decoding. + +. "${srcdir=.}/init.sh" +run_strace_match_diff -a24