This patch allows us to skip tests that require PTRACE_ATTACH in situations where PTRACE_ATTACH is only allowed when CAP_SYS_PTRACE is held (i.e., for root, by default.) Reported at . --- elfutils-0.161/tests/run-deleted.sh 2015-04-11 16:38:33.028556235 +0200 +++ elfutils-0.161/tests/run-deleted.sh 2015-04-11 16:46:15.012442185 +0200 @@ -17,6 +17,15 @@ . $srcdir/backtrace-subr.sh +# Check whether the Yama policy allows us to use PTRACE_ATTACH. +if [ -f /proc/sys/kernel/yama/ptrace_scope ] +then + if [ `cat /proc/sys/kernel/yama/ptrace_scope` -ne 0 ] + then + exit 77 + fi +fi + tempfiles deleted deleted-lib.so cp -p ${abs_builddir}/deleted ${abs_builddir}/deleted-lib.so . --- elfutils-0.161/tests/vdsosyms.c 2015-04-11 16:40:20.633461110 +0200 +++ elfutils-0.161/tests/vdsosyms.c 2015-04-11 16:45:06.611866677 +0200 @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include #include ELFUTILS_HEADER(dwfl) @@ -68,6 +70,7 @@ module_callback (Dwfl_Module *mod, void int main (int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))) { + static const char ptrace_scope_file[] = "/proc/sys/kernel/yama/ptrace_scope"; static char *debuginfo_path; static const Dwfl_Callbacks proc_callbacks = { @@ -76,6 +79,20 @@ main (int argc __attribute__ ((unused)), .find_elf = dwfl_linux_proc_find_elf, }; + + /* Check whether the Yama policy allows us to use PTRACE_ATTACH. */ + int ptrace_scope = open (ptrace_scope_file, O_RDONLY); + if (ptrace_scope >= 0) + { + char buf[10]; + int count = read (ptrace_scope, buf, sizeof buf); + assert (count > 0); + if (buf[0] != '0') + /* We're not allowed, so skip this test. */ + return 77; + close (ptrace_scope); + } + Dwfl *dwfl = dwfl_begin (&proc_callbacks); if (dwfl == NULL) error (2, 0, "dwfl_begin: %s", dwfl_errmsg (-1)); /log/?id=773ef90517dba73b350479d1004b96d436af1617'>root/tests/guix-hash.sh
AgeCommit message (Expand)Author
2021-01-04guix hash: Honor '-H' when used alongside '-r'....* guix/scripts/hash.scm (guix-hash): When 'recursive? is true, use 'open-hash-port' instead of 'open-sha256-port'. * tests/guix-hash.sh: Add test for 'guix hash -r -H sha512'. Ludovic Courtès
2020-09-28tests: Simplify shell exit status negation;...* tests/guix-archive.sh, tests/guix-build-branch.sh, tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-environment.sh, tests/guix-gc.sh, tests/guix-git-authenticate.sh, tests/guix-graph.sh, tests/guix-hash.sh, tests/guix-lint.sh, tests/guix-pack-relocatable.sh, tests/guix-pack.sh, tests/guix-package-aliases.sh, tests/guix-package-net.sh, tests/guix-package.sh: Use the shell '!' keyword to negate command exit status in place of 'if ...; then false; else true; fi' Eric Bavier
2020-05-22guix hash, guix download: Support base64 format....* guix/scripts/download.scm (show-help, %options): Support "base64" format. * guix/scripts/hash.scm (show-help, %options): Likewise. * tests/guix-hash.sh: Test it. * doc/guix.texi (Invoking guix hash): Document it. Ludovic Courtès
2020-05-22guix hash, guix download: Add '--hash'....* guix/scripts/download.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-download): Honor it. * guix/scripts/hash.scm (%default-options): Add 'hash-algorithm'. (show-help, %options): Add "--hash". (guix-hash): Honor it. * tests/guix-hash.sh: Test '-H sha512'. * doc/guix.texi (Invoking guix download): Document it. (Invoking guix hash): Document it. Ludovic Courtès
2016-10-28guix hash: Interpret '-' as standard input....* guix/scripts/hash.scm (guix-hash)[file-hash]: Special-case "-". * tests/guix-hash.sh: Add test. * doc/guix.texi (Invoking guix hash): Document it. Ludovic Courtès
2016-09-07guix hash: Add --exclude-vcs option....* guix/scripts/hash.scm (show-help): Add help text for --exclude-vcs option. (%options): Add --exclude-vcs option. (guix-hash): Handle exclude-vcs option. * doc/guix.texi ("Invoking guix hash"): Update doc. * tests/guix-hash.sh: Add test. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Jan Nieuwenhuizen