The test case below relies on /etc/groups and similar info that is not available in chroot builds, so skip it. --- scheme48-1.9/scheme/posix/check.scm 2013-05-11 21:55:36.000000000 +0200 +++ scheme48-1.9/scheme/posix/check.scm 2013-05-11 21:55:40.000000000 +0200 @@ -229,29 +229,7 @@ ; This assumes that we are not running as root and that / is owned by root. -(define-test-case users&groups posix-core-tests - (let ((my-info (get-file-info directory-name)) - (root-info (get-file-info "/"))) - (let ((my-user (user-id->user-info (file-info-owner my-info))) - (root-user (user-id->user-info (file-info-owner root-info))) - (my-group (group-id->group-info (file-info-group my-info))) - (root-group (group-id->group-info (file-info-group root-info)))) - (let ((my-other-user (name->user-info (user-info-name my-user))) - (my-other-group (name->group-info (group-info-name my-group)))) - (check-that (file-info-owner my-info) - (is user-id=? (user-info-id my-user))) - (check-that (file-info-owner root-info) - (opposite (is user-id=? (user-info-id my-user)))) - (check-that (file-info-group my-info) - (is group-id=? (group-info-id my-group))) - ;; doesn't work reliably - ;; (specifically, if the user is member of wheel) - ;; (check (not (group-id=? (file-info-group root-info) - ;; (group-info-id my-group)))) - (check-that (os-string->string (user-info-name root-user)) - (member-of '("root" - "bin" ; AIX - ))))))) + (define-test-case environment posix-core-tests (let ((env (reverse (environment-alist))))
path: root/gnu/build/linux-container.scm
AgeCommit message (Expand)Author
2023-01-30linux-container: 'container-excursion' forks to join the PID namespace....Fixes <https://issues.guix.gnu.org/61156>. * gnu/build/linux-container.scm (container-excursion): Add extra call to 'primitive-fork' and invoke THUNK in the child process. * tests/containers.scm ("container-excursion"): Remove extra 'primitive-fork' call, now unnecessary. ("container-excursion*, /proc"): New test. Ludovic Courtès
2023-01-30container: Correctly report exit status....* gnu/build/linux-container.scm (container-excursion): Return the raw status value. * tests/containers.scm ("container-excursion, same namespaces"): Add 'status:exit-val' call. * guix/scripts/container/exec.scm (guix-container-exec): Correctly handle the different cases. Ludovic Courtès
2022-09-24linux-container: Mark socket pair as SOCK_CLOEXEC....* gnu/build/linux-container.scm (run-container): Pass SOCK_CLOEXEC to 'socketpair'. Ludovic Courtès
2022-09-20linux-container: 'container-excursion*' marks its FDs as FD_CLOEXEC....Fixes <https://issues.guix.gnu.org/57827>. Reported by Mathieu Othacehe <othacehe@gnu.org>. Fixes a regression introduced with the Shepherd 0.9.2 upgrade in 1ba0e38267c9ff8bb476285091be6e297bbf136e, whereby IN and OUT would no longer be closed when 'fork+exec-command/container' would call 'exec-command*' as part of the THUNK passed to 'container-excursion*'. This is because the Shepherd 0.9.2 assumes file descriptors are properly marked as O_CLOEXEC and, consequently, 'exec-command' no longer run the close(2) loop prior to 'exec'. * gnu/build/linux-container.scm (container-excursion*): Add calls to 'fcntl'. Ludovic Courtès