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)); 759b198042ced866efc423dd4b97'>root/tests/lzlib.scm
AgeCommit message (Expand)Author
2020-01-16lzlib: Define 'dictionary-size+match-length-limit'....* guix/lzlib.scm (%compression-levels): Splice the rest of each element. (dictionary-size+match-length-limit): New procedure. (make-lzip-output-port, make-lzip-input-port/compressed): Use it. * tests/lzlib.scm ("Bytevector of size relative to Lzip internal buffers (2 * dictionary)"): Use 'dictionary-size+match-length-limit' instead of 'assoc-ref'. Ludovic Courtès
2019-12-01tests: lzlib: Do not fail if lzlib in not available....* tests/lzlib.scm: Use test-assert* for all test cases, so that there are no failures if lzlib is unavailable. Mathieu Othacehe
2019-05-27lzlib: Add 'make-lzip-input-port/compressed'....* guix/lzlib.scm (lzwrite!, make-lzip-input-port/compressed): New procedures. * tests/lzlib.scm ("make-lzip-input-port/compressed"): New test. * guix/tests.scm (%seed): Export. Ludovic Courtès
2019-05-06Add (guix lzlib)....* guix/lzlib.scm, tests/lzlib.scm: New files. * Makefile.am (MODULES): Add guix/lzlib.scm. (SCM_TESTS): Add tests/lzlib.scm. * m4/guix.m4 (GUIX_LIBLZ_LIBDIR): New macro. * configure.ac (LIBLZ_LIBDIR): Use it. Define and substitute 'LIBLZ'. * guix/config.scm.in (%liblz): New variable. * guix/self.scm (make-config.scm): Add TODO comment. Co-authored-by: Ludovic Courtès <ludo@gnu.org> Pierre Neidhardt