diff options
author | Ludovic Courtès <ludo@gnu.org> | 2017-02-06 23:45:00 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2017-02-07 00:08:10 +0100 |
commit | c90db25f4cf1f98f3f4f3af38d175a14ffb8c32a (patch) | |
tree | f419dee5d3df1f967312db49d373b44a49e93d48 /tests | |
parent | b9a5efa59673dc9061714a9b0b15b43696bfd38c (diff) | |
download | gnu-guix-c90db25f4cf1f98f3f4f3af38d175a14ffb8c32a.tar gnu-guix-c90db25f4cf1f98f3f4f3af38d175a14ffb8c32a.tar.gz |
linux-container: Add 'container-excursion*'.
* gnu/build/linux-container.scm (container-excursion*): New procedure.
* tests/containers.scm ("container-excursion*")
("container-excursion*, same namespaces"): New tests.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/containers.scm | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/containers.scm b/tests/containers.scm index 745b56b710..0b3a4be12b 100644 --- a/tests/containers.scm +++ b/tests/containers.scm @@ -180,4 +180,31 @@ (lambda () (primitive-exit 42)))) +(skip-if-unsupported) +(test-assert "container-excursion*" + (call-with-temporary-directory + (lambda (root) + (define (namespaces pid) + (let ((pid (number->string pid))) + (map (lambda (ns) + (readlink (string-append "/proc/" pid "/ns/" ns))) + '("user" "ipc" "uts" "net" "pid" "mnt")))) + + (let* ((pid (run-container root '() + %namespaces 1 + (lambda () + (sleep 100)))) + (result (container-excursion* pid + (lambda () + (namespaces 1))))) + (kill pid SIGKILL) + (equal? result (namespaces pid)))))) + +(skip-if-unsupported) +(test-equal "container-excursion*, same namespaces" + 42 + (container-excursion* (getpid) + (lambda () + (* 6 7)))) + (test-end) |