* bug#25476: pivot-root test fails on Ubuntu 16.04 @ 2017-01-18 17:22 Paul Garlick 2017-01-19 16:23 ` Ludovic Courtès 2020-02-11 0:16 ` bug#25476: Hunting: pivot-root test fails on foreign distro zimoun 0 siblings, 2 replies; 13+ messages in thread From: Paul Garlick @ 2017-01-18 17:22 UTC (permalink / raw) To: 25476 [-- Attachment #1: Type: text/plain, Size: 323 bytes --] Hi, I have noticed that the pivot-root test on my development system has started to fail. After running 'make check' the result: FAIL is recorded for the syscalls.scm test. I have recently updated the system. It is running Ubuntu 16.04. Previously, the test passed. Now: $ uname -r 4.4.0-59-generic Best, Paul. [-- Attachment #2: Type: text/html, Size: 519 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-01-18 17:22 bug#25476: pivot-root test fails on Ubuntu 16.04 Paul Garlick @ 2017-01-19 16:23 ` Ludovic Courtès 2017-01-20 23:20 ` Paul Garlick 2020-02-11 0:16 ` bug#25476: Hunting: pivot-root test fails on foreign distro zimoun 1 sibling, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2017-01-19 16:23 UTC (permalink / raw) To: Paul Garlick; +Cc: 25476 Hi! Paul Garlick <pgarlick@tourbillion-technology.com> skribis: > I have noticed that the pivot-root test on my development system has > started to fail. After running 'make check' the result: FAIL is > recorded for the syscalls.scm test. > > I have recently updated the system. It is running Ubuntu 16.04. > Previously, the test passed. Now: > > $ uname -r > 4.4.0-59-generic That’s on Git master, right? Could you post tests/syscalls.log? This test is known to be problematic with recent kernels, as written above it: --8<---------------cut here---------------start------------->8--- ;; XXX: Skip this test when running Linux > 4.7.5 to work around ;; <https://bugzilla.kernel.org/show_bug.cgi?id=183461>. (when (or (not perform-container-tests?) (version>? (utsname:release (uname)) "4.7.5")) (test-skip 1)) --8<---------------cut here---------------end--------------->8--- AFAIK this particular problem was introduced around 4.7.5, as discussed in the bug report above, but maybe Ubuntu’s 4.4 has it too? Thanks for your report! Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-01-19 16:23 ` Ludovic Courtès @ 2017-01-20 23:20 ` Paul Garlick 2017-01-30 22:32 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Paul Garlick @ 2017-01-20 23:20 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25476 [-- Attachment #1.1: Type: text/plain, Size: 196 bytes --] Hi Ludo, > That’s on Git master, right? Yes, back on the master branch the test still fails: $ git describe v0.11.0-3373-g2df3d14 > Could you post tests/syscalls.log? > Attached. Best, Paul. [-- Attachment #1.2: Type: text/html, Size: 563 bytes --] [-- Attachment #2: syscalls.log --] [-- Type: text/x-log, Size: 18628 bytes --] test-name: mount, ENOENT location: /data/paul/sourceCode/guix/tests/syscalls.scm:38 source: + (test-equal + "mount, ENOENT" + ENOENT + (catch 'system-error + (lambda () + (mount "/dev/null" "/does-not-exist" "ext2") + #f) + (compose system-error-errno list))) expected-value: 2 actual-value: 2 result: PASS test-name: umount, ENOENT/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:46 source: + (test-assert + "umount, ENOENT/EPERM" + (catch 'system-error + (lambda () (umount "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM ENOENT))))) actual-value: (1 2) result: PASS test-name: mount-points location: /data/paul/sourceCode/guix/tests/syscalls.scm:55 source: + (test-assert + "mount-points" + (any (cute member <> (mount-points)) + '("/" "/proc" "/sys" "/dev"))) actual-value: (/ /sys/kernel/security /dev/shm /run/lock /sys/fs/cgroup /sys/fs/cgroup/systemd /sys/fs/pstore /sys/fs/cgroup/memory /sys/fs/cgroup/net_cls,net_prio /sys/fs/cgroup/pids /sys/fs/cgroup/cpuset /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/blkio /sys/fs/cgroup/devices /sys/fs/cgroup/freezer /sys/fs/cgroup/perf_event /sys/fs/cgroup/hugetlb /proc/sys/fs/binfmt_misc /sys/kernel/debug /dev/mqueue /dev/hugepages /run/rpc_pipefs /sys/fs/fuse/connections /data /run/cgmanager/fs /run/user/1000 /run/user/1000/gvfs) result: PASS test-name: swapon, ENOENT/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:61 source: + (test-assert + "swapon, ENOENT/EPERM" + (catch 'system-error + (lambda () (swapon "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM ENOENT))))) actual-value: (1 2) result: PASS test-name: swapoff, ENOENT/EINVAL/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:69 source: + (test-assert + "swapoff, ENOENT/EINVAL/EPERM" + (catch 'system-error + (lambda () (swapoff "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM EINVAL ENOENT))))) actual-value: (1 22 2) result: PASS test-name: mkdtemp! location: /data/paul/sourceCode/guix/tests/syscalls.scm:77 source: + (test-assert + "mkdtemp!" + (let* ((tmp (or (getenv "TMPDIR") "/tmp")) + (dir (mkdtemp! + (string-append tmp "/guix-test-XXXXXX")))) + (and (file-exists? dir) (begin (rmdir dir) #t)))) actual-value: #t result: PASS test-name: statfs, ENOENT location: /data/paul/sourceCode/guix/tests/syscalls.scm:85 source: + (test-equal + "statfs, ENOENT" + ENOENT + (catch 'system-error + (lambda () (statfs "/does-not-exist")) + (compose system-error-errno list))) expected-value: 2 actual-value: 2 result: PASS test-name: statfs location: /data/paul/sourceCode/guix/tests/syscalls.scm:92 source: + (test-assert + "statfs" + (let ((fs (statfs "/"))) + (and (file-system? fs) + (> (file-system-block-size fs) 0) + (>= (file-system-blocks-available fs) 0) + (>= (file-system-blocks-free fs) + (file-system-blocks-available fs))))) actual-value: #t result: PASS test-name: clone location: /data/paul/sourceCode/guix/tests/syscalls.scm:109 source: + (test-assert + "clone" + (match (clone (logior CLONE_NEWUSER SIGCHLD)) + (0 (primitive-exit 42)) + (pid (and (not (equal? + (readlink (user-namespace pid)) + (readlink (user-namespace (getpid))))) + (match (waitpid pid) + ((_ . status) (= 42 (status:exit-val status)))))))) actual-value: #t result: PASS test-name: setns location: /data/paul/sourceCode/guix/tests/syscalls.scm:122 source: + (test-assert + "setns" + (match (clone (logior CLONE_NEWUSER SIGCHLD)) + (0 (primitive-exit 0)) + (clone-pid + (match (pipe) + ((in . out) + (match (primitive-fork) + (0 + (close in) + (call-with-input-file + (user-namespace clone-pid) + (lambda (port) (setns (port->fdes port) 0))) + (write 'done out) + (close out) + (primitive-exit 0)) + (fork-pid + (close out) + (read in) + (let ((result + (and (equal? + (readlink + (user-namespace clone-pid)) + (readlink + (user-namespace fork-pid)))))) + (waitpid clone-pid) + (waitpid fork-pid) + result)))))))) actual-value: #t result: PASS test-name: pivot-root location: /data/paul/sourceCode/guix/tests/syscalls.scm:154 source: + (test-equal + "pivot-root" + #t + (match (pipe) + ((in . out) + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) + (0 + (dynamic-wind + (const #t) + (lambda () + (close in) + (call-with-temporary-directory + (lambda (root) + (let ((put-old (string-append root "/real-root"))) + (mount "none" root "tmpfs") + (mkdir put-old) + (call-with-output-file + (string-append root "/test") + (lambda (port) (display "testing\n" port))) + (pivot-root root put-old) + (write (file-exists? "/test") out) + (close out))))) + (lambda () (primitive-exit 0)))) + (pid (close out) + (let ((result (read in))) + (close in) + (and (zero? (match (waitpid pid) + ((_ . status) + (status:exit-val status)))) + (eq? #t result)))))))) expected-value: #t actual-value: #f result: FAIL test-name: fcntl-flock wait location: /data/paul/sourceCode/guix/tests/syscalls.scm:188 source: + (test-equal + "fcntl-flock wait" + 42 + (let ((file (open-file temp-file "w0b"))) + (fcntl-flock file 'write-lock) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (let ((file (open-file temp-file "r0b"))) + (fcntl-flock file 'read-lock) + (primitive-exit (read file))) + (primitive-exit 1)) + (lambda () (primitive-exit 2)))) + (pid (display "hello, world!" file) + (force-output file) + (sleep 1) + (seek file 0 SEEK_SET) + (truncate-file file 0) + (write 42 file) + (force-output file) + (fcntl-flock file 'unlock) + (match (waitpid pid) + ((_ . status) + (let ((result (status:exit-val status))) + (close-port file) + result))))))) expected-value: 42 actual-value: 42 result: PASS test-name: fcntl-flock non-blocking location: /data/paul/sourceCode/guix/tests/syscalls.scm:227 source: + (test-equal + "fcntl-flock non-blocking" + EAGAIN + (match (pipe) + ((input . output) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (close-port output) + (read-char input) + (let ((file (open-file temp-file "w0"))) + (catch 'flock-error + (lambda () + (fcntl-flock file 'write-lock #:wait? #f)) + (lambda (key errno) + (primitive-exit (pk 'errno errno))))) + (primitive-exit -1)) + (lambda () (primitive-exit -2)))) + (pid (close-port input) + (let ((file (open-file temp-file "w0"))) + (fcntl-flock file 'write-lock) + (write 'green-light output) + (force-output output) + (match (waitpid pid) + ((_ . status) + (let ((result (status:exit-val status))) + (fcntl-flock file 'unlock) + (close-port file) + result))))))))) ;;; (errno 11) expected-value: 11 actual-value: 11 result: PASS test-name: all-network-interface-names location: /data/paul/sourceCode/guix/tests/syscalls.scm:269 source: + (test-assert + "all-network-interface-names" + (match (all-network-interface-names) + (((? string? names) ..1) (member "lo" names)))) actual-value: (lo wlan0 eth0) result: PASS test-name: network-interface-names location: /data/paul/sourceCode/guix/tests/syscalls.scm:274 source: + (test-assert + "network-interface-names" + (match (network-interface-names) + (((? string? names) ..1) + (lset<= + string=? + names + (all-network-interface-names))))) actual-value: #t result: PASS test-name: network-interface-flags location: /data/paul/sourceCode/guix/tests/syscalls.scm:279 source: + (test-assert + "network-interface-flags" + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (flags (network-interface-flags sock "lo"))) + (close-port sock) + (and (not (zero? (logand flags IFF_LOOPBACK))) + (not (zero? (logand flags IFF_UP)))))) actual-value: #t result: PASS test-name: loopback-network-interface? location: /data/paul/sourceCode/guix/tests/syscalls.scm:286 source: + (test-equal + "loopback-network-interface?" + ENODEV + (and (loopback-network-interface? "lo") + (catch 'system-error + (lambda () + (loopback-network-interface? "nonexistent") + #f) + (lambda args (system-error-errno args))))) expected-value: 19 actual-value: 19 result: PASS test-name: set-network-interface-flags location: /data/paul/sourceCode/guix/tests/syscalls.scm:297 source: + (test-assert + "set-network-interface-flags" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-flags sock "lo" IFF_UP)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interface-address lo location: /data/paul/sourceCode/guix/tests/syscalls.scm:307 source: + (test-equal + "network-interface-address lo" + (make-socket-address + AF_INET + (inet-pton AF_INET "127.0.0.1") + 0) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (addr (network-interface-address sock "lo"))) + (close-port sock) + addr)) expected-value: #(2 2130706433 0) actual-value: #(2 2130706433 0) result: PASS test-name: set-network-interface-address location: /data/paul/sourceCode/guix/tests/syscalls.scm:315 source: + (test-assert + "set-network-interface-address" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-address + sock + "nonexistent" + (make-socket-address + AF_INET + (inet-pton AF_INET "127.12.14.15") + 0))) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interface-netmask lo location: /data/paul/sourceCode/guix/tests/syscalls.scm:329 source: + (test-equal + "network-interface-netmask lo" + (make-socket-address + AF_INET + (inet-pton AF_INET "255.0.0.0") + 0) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (addr (network-interface-netmask sock "lo"))) + (close-port sock) + addr)) expected-value: #(2 4278190080 0) actual-value: #(2 4278190080 0) result: PASS test-name: set-network-interface-netmask location: /data/paul/sourceCode/guix/tests/syscalls.scm:337 source: + (test-assert + "set-network-interface-netmask" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-netmask + sock + "nonexistent" + (make-socket-address + AF_INET + (inet-pton AF_INET "255.0.0.0") + 0))) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interfaces returns one or more interfaces location: /data/paul/sourceCode/guix/tests/syscalls.scm:350 source: + (test-equal + "network-interfaces returns one or more interfaces" + '(#t #t #t) + (match (network-interfaces) + ((interfaces ..1) + (list (every interface? interfaces) + (every string? (map interface-name interfaces)) + (every (lambda (sockaddr) + (or (vector? sockaddr) (not sockaddr))) + (map interface-address interfaces)))))) expected-value: (#t #t #t) actual-value: (#t #t #t) result: PASS test-name: network-interfaces returns "lo" location: /data/paul/sourceCode/guix/tests/syscalls.scm:362 source: + (test-equal + "network-interfaces returns \"lo\"" + (list #t + (make-socket-address + AF_INET + (inet-pton AF_INET "127.0.0.1") + 0)) + (match (filter + (lambda (interface) + (string=? "lo" (interface-name interface))) + (network-interfaces)) + ((loopbacks ..1) + (list (every (lambda (lo) + (not (zero? (logand + IFF_LOOPBACK + (interface-flags lo))))) + loopbacks) + (match (find (lambda (lo) + (= AF_INET + (sockaddr:fam (interface-address lo)))) + loopbacks) + (#f #f) + (lo (interface-address lo))))))) expected-value: (#t #(2 2130706433 0)) actual-value: (#t #(2 2130706433 0)) result: PASS test-name: add-network-route/gateway location: /data/paul/sourceCode/guix/tests/syscalls.scm:378 source: + (test-assert + "add-network-route/gateway" + (let ((sock (socket AF_INET SOCK_STREAM 0)) + (gateway + (make-socket-address + AF_INET + (inet-pton AF_INET "192.168.0.1") + 0))) + (catch 'system-error + (lambda () + (add-network-route/gateway sock gateway)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: delete-network-route location: /data/paul/sourceCode/guix/tests/syscalls.scm:391 source: + (test-assert + "delete-network-route" + (let ((sock (socket AF_INET SOCK_STREAM 0)) + (destination + (make-socket-address AF_INET INADDR_ANY 0))) + (catch 'system-error + (lambda () + (delete-network-route sock destination)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: tcgetattr ENOTTY location: /data/paul/sourceCode/guix/tests/syscalls.scm:401 source: + (test-equal + "tcgetattr ENOTTY" + ENOTTY + (catch 'system-error + (lambda () + (call-with-input-file + "/dev/null" + (lambda (port) (tcgetattr (fileno port))))) + (compose system-error-errno list))) expected-value: 25 actual-value: 25 result: PASS test-name: tcgetattr location: /data/paul/sourceCode/guix/tests/syscalls.scm:415 source: + (test-assert + "tcgetattr" + (let ((termios (tcgetattr 0))) + (and (termios? termios) + (> (termios-input-speed termios) 0) + (> (termios-output-speed termios) 0)))) result: SKIP test-name: tcsetattr location: /data/paul/sourceCode/guix/tests/syscalls.scm:421 source: + (test-assert + "tcsetattr" + (let ((first (tcgetattr 0))) + (tcsetattr 0 (tcsetattr-action TCSANOW) first) + (equal? first (tcgetattr 0)))) result: SKIP test-name: terminal-window-size ENOTTY location: /data/paul/sourceCode/guix/tests/syscalls.scm:426 source: + (test-assert + "terminal-window-size ENOTTY" + (call-with-input-file + "/dev/null" + (lambda (port) + (catch 'system-error + (lambda () (terminal-window-size port)) + (lambda args + (memv (system-error-errno args) + (list ENOTTY EINVAL))))))) actual-value: (25 22) result: PASS test-name: terminal-columns location: /data/paul/sourceCode/guix/tests/syscalls.scm:437 source: + (test-assert + "terminal-columns" + (> (terminal-columns) 0)) actual-value: #t result: PASS test-name: terminal-columns non-file port location: /data/paul/sourceCode/guix/tests/syscalls.scm:440 source: + (test-assert + "terminal-columns non-file port" + (> (terminal-columns + (open-input-string + "Join us now, share the software!")) + 0)) actual-value: #t result: PASS ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-01-20 23:20 ` Paul Garlick @ 2017-01-30 22:32 ` Ludovic Courtès 2017-01-31 16:48 ` Paul Garlick 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2017-01-30 22:32 UTC (permalink / raw) To: Paul Garlick; +Cc: 25476 Paul Garlick <pgarlick@tourbillion-technology.com> skribis: > test-name: pivot-root > location: /data/paul/sourceCode/guix/tests/syscalls.scm:154 > source: > + (test-equal > + "pivot-root" > + #t > + (match (pipe) > + ((in . out) > + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) > + (0 > + (dynamic-wind > + (const #t) > + (lambda () > + (close in) > + (call-with-temporary-directory > + (lambda (root) > + (let ((put-old (string-append root "/real-root"))) > + (mount "none" root "tmpfs") > + (mkdir put-old) > + (call-with-output-file > + (string-append root "/test") > + (lambda (port) (display "testing\n" port))) > + (pivot-root root put-old) > + (write (file-exists? "/test") out) > + (close out))))) > + (lambda () (primitive-exit 0)))) > + (pid (close out) > + (let ((result (read in))) > + (close in) > + (and (zero? (match (waitpid pid) > + ((_ . status) > + (status:exit-val status)))) > + (eq? #t result)))))))) > expected-value: #t > actual-value: #f > result: FAIL Hmm, not sure why this is failing. Most likely (file-exists? "/test") returns #f. Could you change “(eq? #t result)” to “result”, rerun the test, and send syscalls.log? Thanks, Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-01-30 22:32 ` Ludovic Courtès @ 2017-01-31 16:48 ` Paul Garlick 2017-02-01 13:08 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Paul Garlick @ 2017-01-31 16:48 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25476 [-- Attachment #1.1: Type: text/plain, Size: 400 bytes --] > > Could you change “(eq? #t result)” to “result”, rerun the test, and > send > syscalls.log? > > Hi Ludo, After a 'git pull --rebase' I now have: $ git describe v0.12.0-984-gabb7eb7 The pivot-root test still fails. The 'actual-value' is now #<eof>. I have attached the syscalls.log file. In fact there is also a new FAIL result, for utmpx-entries. Is this unrelated? Best, Paul. [-- Attachment #1.2: Type: text/html, Size: 684 bytes --] [-- Attachment #2: syscalls.log --] [-- Type: text/x-log, Size: 19577 bytes --] test-name: mount, ENOENT location: /data/paul/sourceCode/guix/tests/syscalls.scm:38 source: + (test-equal + "mount, ENOENT" + ENOENT + (catch 'system-error + (lambda () + (mount "/dev/null" "/does-not-exist" "ext2") + #f) + (compose system-error-errno list))) expected-value: 2 actual-value: 2 result: PASS test-name: umount, ENOENT/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:46 source: + (test-assert + "umount, ENOENT/EPERM" + (catch 'system-error + (lambda () (umount "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM ENOENT))))) actual-value: (1 2) result: PASS test-name: mount-points location: /data/paul/sourceCode/guix/tests/syscalls.scm:55 source: + (test-assert + "mount-points" + (any (cute member <> (mount-points)) + '("/" "/proc" "/sys" "/dev"))) actual-value: (/ /sys/kernel/security /dev/shm /run/lock /sys/fs/cgroup /sys/fs/cgroup/systemd /sys/fs/pstore /sys/fs/cgroup/devices /sys/fs/cgroup/pids /sys/fs/cgroup/memory /sys/fs/cgroup/freezer /sys/fs/cgroup/net_cls,net_prio /sys/fs/cgroup/hugetlb /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/blkio /sys/fs/cgroup/cpuset /sys/fs/cgroup/perf_event /proc/sys/fs/binfmt_misc /dev/hugepages /dev/mqueue /sys/kernel/debug /run/rpc_pipefs /sys/fs/fuse/connections /data /run/cgmanager/fs /run/user/1000 /run/user/1000/gvfs) result: PASS test-name: swapon, ENOENT/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:61 source: + (test-assert + "swapon, ENOENT/EPERM" + (catch 'system-error + (lambda () (swapon "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM ENOENT))))) actual-value: (1 2) result: PASS test-name: swapoff, ENOENT/EINVAL/EPERM location: /data/paul/sourceCode/guix/tests/syscalls.scm:69 source: + (test-assert + "swapoff, ENOENT/EINVAL/EPERM" + (catch 'system-error + (lambda () (swapoff "/does-not-exist") #f) + (lambda args + (memv (system-error-errno args) + (list EPERM EINVAL ENOENT))))) actual-value: (1 22 2) result: PASS test-name: mkdtemp! location: /data/paul/sourceCode/guix/tests/syscalls.scm:77 source: + (test-assert + "mkdtemp!" + (let* ((tmp (or (getenv "TMPDIR") "/tmp")) + (dir (mkdtemp! + (string-append tmp "/guix-test-XXXXXX")))) + (and (file-exists? dir) (begin (rmdir dir) #t)))) actual-value: #t result: PASS test-name: statfs, ENOENT location: /data/paul/sourceCode/guix/tests/syscalls.scm:85 source: + (test-equal + "statfs, ENOENT" + ENOENT + (catch 'system-error + (lambda () (statfs "/does-not-exist")) + (compose system-error-errno list))) expected-value: 2 actual-value: 2 result: PASS test-name: statfs location: /data/paul/sourceCode/guix/tests/syscalls.scm:92 source: + (test-assert + "statfs" + (let ((fs (statfs "/"))) + (and (file-system? fs) + (> (file-system-block-size fs) 0) + (>= (file-system-blocks-available fs) 0) + (>= (file-system-blocks-free fs) + (file-system-blocks-available fs))))) actual-value: #t result: PASS test-name: clone location: /data/paul/sourceCode/guix/tests/syscalls.scm:109 source: + (test-assert + "clone" + (match (clone (logior CLONE_NEWUSER SIGCHLD)) + (0 (primitive-exit 42)) + (pid (and (not (equal? + (readlink (user-namespace pid)) + (readlink (user-namespace (getpid))))) + (match (waitpid pid) + ((_ . status) (= 42 (status:exit-val status)))))))) actual-value: #t result: PASS test-name: setns location: /data/paul/sourceCode/guix/tests/syscalls.scm:122 source: + (test-assert + "setns" + (match (clone (logior CLONE_NEWUSER SIGCHLD)) + (0 (primitive-exit 0)) + (clone-pid + (match (pipe) + ((in . out) + (match (primitive-fork) + (0 + (close in) + (call-with-input-file + (user-namespace clone-pid) + (lambda (port) (setns (port->fdes port) 0))) + (write 'done out) + (close out) + (primitive-exit 0)) + (fork-pid + (close out) + (read in) + (let ((result + (and (equal? + (readlink + (user-namespace clone-pid)) + (readlink + (user-namespace fork-pid)))))) + (waitpid clone-pid) + (waitpid fork-pid) + result)))))))) actual-value: #t result: PASS test-name: pivot-root location: /data/paul/sourceCode/guix/tests/syscalls.scm:154 source: + (test-equal + "pivot-root" + #t + (match (pipe) + ((in . out) + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) + (0 + (dynamic-wind + (const #t) + (lambda () + (close in) + (call-with-temporary-directory + (lambda (root) + (let ((put-old (string-append root "/real-root"))) + (mount "none" root "tmpfs") + (mkdir put-old) + (call-with-output-file + (string-append root "/test") + (lambda (port) (display "testing\n" port))) + (pivot-root root put-old) + (write (file-exists? "/test") out) + (close out))))) + (lambda () (primitive-exit 0)))) + (pid (close out) + (let ((result (read in))) + (close in) + (and (zero? (match (waitpid pid) + ((_ . status) + (status:exit-val status)))) + result))))))) expected-value: #t actual-value: #<eof> result: FAIL test-name: fcntl-flock wait location: /data/paul/sourceCode/guix/tests/syscalls.scm:188 source: + (test-equal + "fcntl-flock wait" + 42 + (let ((file (open-file temp-file "w0b"))) + (fcntl-flock file 'write-lock) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (let ((file (open-file temp-file "r0b"))) + (fcntl-flock file 'read-lock) + (primitive-exit (read file))) + (primitive-exit 1)) + (lambda () (primitive-exit 2)))) + (pid (display "hello, world!" file) + (force-output file) + (sleep 1) + (seek file 0 SEEK_SET) + (truncate-file file 0) + (write 42 file) + (force-output file) + (fcntl-flock file 'unlock) + (match (waitpid pid) + ((_ . status) + (let ((result (status:exit-val status))) + (close-port file) + result))))))) expected-value: 42 actual-value: 42 result: PASS test-name: fcntl-flock non-blocking location: /data/paul/sourceCode/guix/tests/syscalls.scm:227 source: + (test-equal + "fcntl-flock non-blocking" + EAGAIN + (match (pipe) + ((input . output) + (match (primitive-fork) + (0 + (dynamic-wind + (const #t) + (lambda () + (close-port output) + (read-char input) + (let ((file (open-file temp-file "w0"))) + (catch 'flock-error + (lambda () + (fcntl-flock file 'write-lock #:wait? #f)) + (lambda (key errno) + (primitive-exit (pk 'errno errno))))) + (primitive-exit -1)) + (lambda () (primitive-exit -2)))) + (pid (close-port input) + (let ((file (open-file temp-file "w0"))) + (fcntl-flock file 'write-lock) + (write 'green-light output) + (force-output output) + (match (waitpid pid) + ((_ . status) + (let ((result (status:exit-val status))) + (fcntl-flock file 'unlock) + (close-port file) + result))))))))) ;;; (errno 11) expected-value: 11 actual-value: 11 result: PASS test-name: all-network-interface-names location: /data/paul/sourceCode/guix/tests/syscalls.scm:269 source: + (test-assert + "all-network-interface-names" + (match (all-network-interface-names) + (((? string? names) ..1) (member "lo" names)))) actual-value: (lo wlan0 eth0) result: PASS test-name: network-interface-names location: /data/paul/sourceCode/guix/tests/syscalls.scm:274 source: + (test-assert + "network-interface-names" + (match (network-interface-names) + (((? string? names) ..1) + (lset<= + string=? + names + (all-network-interface-names))))) actual-value: #t result: PASS test-name: network-interface-flags location: /data/paul/sourceCode/guix/tests/syscalls.scm:279 source: + (test-assert + "network-interface-flags" + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (flags (network-interface-flags sock "lo"))) + (close-port sock) + (and (not (zero? (logand flags IFF_LOOPBACK))) + (not (zero? (logand flags IFF_UP)))))) actual-value: #t result: PASS test-name: loopback-network-interface? location: /data/paul/sourceCode/guix/tests/syscalls.scm:286 source: + (test-equal + "loopback-network-interface?" + ENODEV + (and (loopback-network-interface? "lo") + (catch 'system-error + (lambda () + (loopback-network-interface? "nonexistent") + #f) + (lambda args (system-error-errno args))))) expected-value: 19 actual-value: 19 result: PASS test-name: set-network-interface-flags location: /data/paul/sourceCode/guix/tests/syscalls.scm:297 source: + (test-assert + "set-network-interface-flags" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-flags sock "lo" IFF_UP)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interface-address lo location: /data/paul/sourceCode/guix/tests/syscalls.scm:307 source: + (test-equal + "network-interface-address lo" + (make-socket-address + AF_INET + (inet-pton AF_INET "127.0.0.1") + 0) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (addr (network-interface-address sock "lo"))) + (close-port sock) + addr)) expected-value: #(2 2130706433 0) actual-value: #(2 2130706433 0) result: PASS test-name: set-network-interface-address location: /data/paul/sourceCode/guix/tests/syscalls.scm:315 source: + (test-assert + "set-network-interface-address" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-address + sock + "nonexistent" + (make-socket-address + AF_INET + (inet-pton AF_INET "127.12.14.15") + 0))) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interface-netmask lo location: /data/paul/sourceCode/guix/tests/syscalls.scm:329 source: + (test-equal + "network-interface-netmask lo" + (make-socket-address + AF_INET + (inet-pton AF_INET "255.0.0.0") + 0) + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (addr (network-interface-netmask sock "lo"))) + (close-port sock) + addr)) expected-value: #(2 4278190080 0) actual-value: #(2 4278190080 0) result: PASS test-name: set-network-interface-netmask location: /data/paul/sourceCode/guix/tests/syscalls.scm:337 source: + (test-assert + "set-network-interface-netmask" + (let ((sock (socket AF_INET SOCK_STREAM 0))) + (catch 'system-error + (lambda () + (set-network-interface-netmask + sock + "nonexistent" + (make-socket-address + AF_INET + (inet-pton AF_INET "255.0.0.0") + 0))) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: network-interfaces returns one or more interfaces location: /data/paul/sourceCode/guix/tests/syscalls.scm:350 source: + (test-equal + "network-interfaces returns one or more interfaces" + '(#t #t #t) + (match (network-interfaces) + ((interfaces ..1) + (list (every interface? interfaces) + (every string? (map interface-name interfaces)) + (every (lambda (sockaddr) + (or (vector? sockaddr) (not sockaddr))) + (map interface-address interfaces)))))) expected-value: (#t #t #t) actual-value: (#t #t #t) result: PASS test-name: network-interfaces returns "lo" location: /data/paul/sourceCode/guix/tests/syscalls.scm:362 source: + (test-equal + "network-interfaces returns \"lo\"" + (list #t + (make-socket-address + AF_INET + (inet-pton AF_INET "127.0.0.1") + 0)) + (match (filter + (lambda (interface) + (string=? "lo" (interface-name interface))) + (network-interfaces)) + ((loopbacks ..1) + (list (every (lambda (lo) + (not (zero? (logand + IFF_LOOPBACK + (interface-flags lo))))) + loopbacks) + (match (find (lambda (lo) + (= AF_INET + (sockaddr:fam (interface-address lo)))) + loopbacks) + (#f #f) + (lo (interface-address lo))))))) expected-value: (#t #(2 2130706433 0)) actual-value: (#t #(2 2130706433 0)) result: PASS test-name: add-network-route/gateway location: /data/paul/sourceCode/guix/tests/syscalls.scm:378 source: + (test-assert + "add-network-route/gateway" + (let ((sock (socket AF_INET SOCK_STREAM 0)) + (gateway + (make-socket-address + AF_INET + (inet-pton AF_INET "192.168.0.1") + 0))) + (catch 'system-error + (lambda () + (add-network-route/gateway sock gateway)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: delete-network-route location: /data/paul/sourceCode/guix/tests/syscalls.scm:391 source: + (test-assert + "delete-network-route" + (let ((sock (socket AF_INET SOCK_STREAM 0)) + (destination + (make-socket-address AF_INET INADDR_ANY 0))) + (catch 'system-error + (lambda () + (delete-network-route sock destination)) + (lambda args + (close-port sock) + (memv (system-error-errno args) + (list EPERM EACCES)))))) actual-value: (1 13) result: PASS test-name: tcgetattr ENOTTY location: /data/paul/sourceCode/guix/tests/syscalls.scm:401 source: + (test-equal + "tcgetattr ENOTTY" + ENOTTY + (catch 'system-error + (lambda () + (call-with-input-file + "/dev/null" + (lambda (port) (tcgetattr (fileno port))))) + (compose system-error-errno list))) expected-value: 25 actual-value: 25 result: PASS test-name: tcgetattr location: /data/paul/sourceCode/guix/tests/syscalls.scm:415 source: + (test-assert + "tcgetattr" + (let ((termios (tcgetattr 0))) + (and (termios? termios) + (> (termios-input-speed termios) 0) + (> (termios-output-speed termios) 0)))) result: SKIP test-name: tcsetattr location: /data/paul/sourceCode/guix/tests/syscalls.scm:421 source: + (test-assert + "tcsetattr" + (let ((first (tcgetattr 0))) + (tcsetattr 0 (tcsetattr-action TCSANOW) first) + (equal? first (tcgetattr 0)))) result: SKIP test-name: terminal-window-size ENOTTY location: /data/paul/sourceCode/guix/tests/syscalls.scm:426 source: + (test-assert + "terminal-window-size ENOTTY" + (call-with-input-file + "/dev/null" + (lambda (port) + (catch 'system-error + (lambda () (terminal-window-size port)) + (lambda args + (memv (system-error-errno args) + (list ENOTTY EINVAL))))))) actual-value: (25 22) result: PASS test-name: terminal-columns location: /data/paul/sourceCode/guix/tests/syscalls.scm:437 source: + (test-assert + "terminal-columns" + (> (terminal-columns) 0)) actual-value: #t result: PASS test-name: terminal-columns non-file port location: /data/paul/sourceCode/guix/tests/syscalls.scm:440 source: + (test-assert + "terminal-columns non-file port" + (> (terminal-columns + (open-input-string + "Join us now, share the software!")) + 0)) actual-value: #t result: PASS test-name: utmpx-entries location: /data/paul/sourceCode/guix/tests/syscalls.scm:444 source: + (test-assert + "utmpx-entries" + (match (utmpx-entries) + (((? utmpx? entries) ...) + (every (lambda (entry) + (match (utmpx-user entry) + ((? string?) (> (utmpx-pid entry) 0)) + (#f #t))) + entries)))) actual-value: #f result: FAIL test-name: read-utmpx, EOF location: /data/paul/sourceCode/guix/tests/syscalls.scm:455 source: + (test-assert + "read-utmpx, EOF" + (eof-object? (read-utmpx (%make-void-port "r")))) actual-value: #t result: PASS test-name: read-utmpx location: /data/paul/sourceCode/guix/tests/syscalls.scm:460 source: + (test-assert + "read-utmpx" + (let ((result + (call-with-input-file + "/var/run/utmpx" + read-utmpx))) + (or (utmpx? result) (eof-object? result)))) result: SKIP ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-01-31 16:48 ` Paul Garlick @ 2017-02-01 13:08 ` Ludovic Courtès 2017-02-01 15:33 ` Paul Garlick 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2017-02-01 13:08 UTC (permalink / raw) To: Paul Garlick; +Cc: 25476 Hi, Paul Garlick <pgarlick@tourbillion-technology.com> skribis: > test-name: pivot-root > location: /data/paul/sourceCode/guix/tests/syscalls.scm:154 > source: > + (test-equal > + "pivot-root" > + #t > + (match (pipe) > + ((in . out) > + (match (clone (logior CLONE_NEWUSER CLONE_NEWNS SIGCHLD)) > + (0 > + (dynamic-wind > + (const #t) > + (lambda () > + (close in) > + (call-with-temporary-directory > + (lambda (root) > + (let ((put-old (string-append root "/real-root"))) > + (mount "none" root "tmpfs") > + (mkdir put-old) > + (call-with-output-file > + (string-append root "/test") > + (lambda (port) (display "testing\n" port))) > + (pivot-root root put-old) > + (write (file-exists? "/test") out) > + (close out))))) > + (lambda () (primitive-exit 0)))) > + (pid (close out) > + (let ((result (read in))) > + (close in) > + (and (zero? (match (waitpid pid) > + ((_ . status) > + (status:exit-val status)))) > + result))))))) > expected-value: #t > actual-value: #<eof> > result: FAIL That would mean the child process exited with 0, yet it didn’t write anything to stdout. Not sure how this can happen. > test-name: utmpx-entries > location: /data/paul/sourceCode/guix/tests/syscalls.scm:444 > source: > + (test-assert > + "utmpx-entries" > + (match (utmpx-entries) > + (((? utmpx? entries) ...) > + (every (lambda (entry) > + (match (utmpx-user entry) > + ((? string?) (> (utmpx-pid entry) 0)) > + (#f #t))) > + entries)))) > actual-value: #f > result: FAIL This one is unrelated. Could you try this: --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guile GNU Guile 2.0.13 Copyright (C) 1995-2016 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,use(guix build syscalls) scheme@(guile-user)> (utmpx-entries) $1 = (#<<utmpx-entry> type: 6 …> …) scheme@(guile-user)> ,use(srfi srfi-1) scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user entry))(zero? (utmpx-pid entry)))) (utmpx-entries)) $2 = #f --8<---------------cut here---------------end--------------->8--- Most likely the assumption made in this test doesn’t hold on your system for some reason. Thank you, Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-02-01 13:08 ` Ludovic Courtès @ 2017-02-01 15:33 ` Paul Garlick 2017-02-11 21:29 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Paul Garlick @ 2017-02-01 15:33 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25476 [-- Attachment #1: Type: text/plain, Size: 2228 bytes --] Hi Ludo, Here is the output from the guile session: paul$ ./pre-inst-env guile GNU Guile 2.0.13 Copyright (C) 1995-2016 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,use(guix build syscalls) scheme@(guile-user)> (utmpx-entries) $1 = (#<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second: 1485945677> address: (0 0 0 0)> #<<utmpx-entry> type: 1 pid: 53 line: "~" id: (126 126 0 0) user: "runlevel" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 441012000 second: 1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 6 pid: 1589 line: "tty1" id: (116 116 121 49) user: "LOGIN" host: #f termination: 0 exit: 0 session: 1589 time: #<time type: time-utc nanosecond: 643444000 second: 1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid: 1908 line: "tty7" id: (58 48 0 0) user: "paul" host: ":0" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 705038000 second: 1485945754> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid: 2486 line: "pts/11" id: (47 49 49 0) user: "paul" host: ":0.0" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 115640000 second: 1485945809> address: (0 0 0 0)> #<<utmpx- entry> type: 7 pid: 2486 line: "pts/2" id: (47 50 0 0) user: "paul" host: ":0.0" termination: 0 exit: 0 session: 0 time: #<time type: time- utc nanosecond: 916844000 second: 1485947271> address: (0 0 0 0)>) scheme@(guile-user)> ,use(srfi srfi-1) scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user entry))(zero? (utmpx-pid entry)))) (utmpx-entries)) $2 = #<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second: 1485945677> address: (0 0 0 0)> The $2 ##SELECTION_END##output is not false in this case. Paul. [-- Attachment #2: Type: text/html, Size: 2655 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-02-01 15:33 ` Paul Garlick @ 2017-02-11 21:29 ` Ludovic Courtès 2017-02-13 22:16 ` Paul Garlick 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2017-02-11 21:29 UTC (permalink / raw) To: Paul Garlick; +Cc: 25476 Paul Garlick <pgarlick@tourbillion-technology.com> skribis: > scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user > entry))(zero? (utmpx-pid entry)))) (utmpx-entries)) > $2 = #<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second: > 1485945677> address: (0 0 0 0)> > > The $2 output is not false in this case. I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this. Thanks! Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-02-11 21:29 ` Ludovic Courtès @ 2017-02-13 22:16 ` Paul Garlick 2017-02-13 22:31 ` Ludovic Courtès 0 siblings, 1 reply; 13+ messages in thread From: Paul Garlick @ 2017-02-13 22:16 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25476 [-- Attachment #1: Type: text/plain, Size: 330 bytes --] > I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this. > > Yes, confirmed. The utmpx-entries test now passes. The pivot-root test still fails. One thought; I made a change to the guix-daemon.service file, at about the same time as updating Ubuntu to 16.04, setting TMPDIR to /data/tmp. Could that be related? Paul. [-- Attachment #2: Type: text/html, Size: 500 bytes --] ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: pivot-root test fails on Ubuntu 16.04 2017-02-13 22:16 ` Paul Garlick @ 2017-02-13 22:31 ` Ludovic Courtès 0 siblings, 0 replies; 13+ messages in thread From: Ludovic Courtès @ 2017-02-13 22:31 UTC (permalink / raw) To: Paul Garlick; +Cc: 25476 Hi Paul, Paul Garlick <pgarlick@tourbillion-technology.com> skribis: >> I think a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 fixes this. >> >> > Yes, confirmed. The utmpx-entries test now passes. Great, thanks for checking. > The pivot-root test still fails. One thought; I made a change to the > guix-daemon.service file, at about the same time as updating Ubuntu to > 16.04, setting TMPDIR to /data/tmp. Could that be related? I don’t think so: ‘make check’ spawns its own daemon, which uses a store at $builddir/test-tmp. And this particular test does not rely on the daemon. Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: Hunting: pivot-root test fails on foreign distro 2017-01-18 17:22 bug#25476: pivot-root test fails on Ubuntu 16.04 Paul Garlick 2017-01-19 16:23 ` Ludovic Courtès @ 2020-02-11 0:16 ` zimoun 2020-02-11 11:34 ` Ludovic Courtès 1 sibling, 1 reply; 13+ messages in thread From: zimoun @ 2020-02-11 0:16 UTC (permalink / raw) To: 25476; +Cc: hydromasha, pgarlick Dear, This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as explained here [1]. Any objection to close it? Or new information blocking the closing? [1] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25476#29 Thank you in advance. All the best, simon ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: Hunting: pivot-root test fails on foreign distro 2020-02-11 0:16 ` bug#25476: Hunting: pivot-root test fails on foreign distro zimoun @ 2020-02-11 11:34 ` Ludovic Courtès 2020-02-11 13:39 ` zimoun 0 siblings, 1 reply; 13+ messages in thread From: Ludovic Courtès @ 2020-02-11 11:34 UTC (permalink / raw) To: zimoun; +Cc: 25476-done, pgarlick, hydromasha Hi, zimoun <zimon.toutoune@gmail.com> skribis: > This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as > explained here [1]. Well this commit fixes one of the issues discussed here (the utmpx test failure), but not the ‘pivot-root’ test failure itself. However, it seems that the ‘pivot-root’ test is now skipped in practice on most systems so… Turns out I found how to make it work again in commit 1deca767be1b84b96633e317f3fcdd5165f95df3. Let me know if anything’s amiss. Finally closing! :-) Ludo’. ^ permalink raw reply [flat|nested] 13+ messages in thread
* bug#25476: Hunting: pivot-root test fails on foreign distro 2020-02-11 11:34 ` Ludovic Courtès @ 2020-02-11 13:39 ` zimoun 0 siblings, 0 replies; 13+ messages in thread From: zimoun @ 2020-02-11 13:39 UTC (permalink / raw) To: Ludovic Courtès; +Cc: 25476-done Hi Ludo, On Tue, 11 Feb 2020 at 12:35, Ludovic Courtès <ludo@gnu.org> wrote: > zimoun <zimon.toutoune@gmail.com> skribis: > > > This bug seems fixed by a1a8b7f2e20513a3ad968e74e7ec52546404e3c6 as > > explained here [1]. > > Well this commit fixes one of the issues discussed here (the utmpx test > failure), but not the ‘pivot-root’ test failure itself. D'oh! I missed this part. > However, it seems that the ‘pivot-root’ test is now skipped in practice > on most systems so… Ok so let if the bug show up again. :-) > Turns out I found how to make it work again in commit > 1deca767be1b84b96633e317f3fcdd5165f95df3. Let me know if anything’s > amiss. Cool! Thank you for the fix. Cheers, simon ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-02-11 13:41 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-01-18 17:22 bug#25476: pivot-root test fails on Ubuntu 16.04 Paul Garlick 2017-01-19 16:23 ` Ludovic Courtès 2017-01-20 23:20 ` Paul Garlick 2017-01-30 22:32 ` Ludovic Courtès 2017-01-31 16:48 ` Paul Garlick 2017-02-01 13:08 ` Ludovic Courtès 2017-02-01 15:33 ` Paul Garlick 2017-02-11 21:29 ` Ludovic Courtès 2017-02-13 22:16 ` Paul Garlick 2017-02-13 22:31 ` Ludovic Courtès 2020-02-11 0:16 ` bug#25476: Hunting: pivot-root test fails on foreign distro zimoun 2020-02-11 11:34 ` Ludovic Courtès 2020-02-11 13:39 ` zimoun
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).