Subject: Some tests/syscalls.scm skipped when running under -j20

From: Domagoj Stolfa <[email-masked]>
Date: Wed, 30 Jun 2021 22:00:38 +0100

Hi:

When I run `make check -j1`, all of the tests/syscalls.scm tests pass, however
when running it with `make check -j20`, the following two tests get skipped:

test-name: tcgetattr
location: /home/ds815/repos/guix/tests/syscalls.scm:553
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: /home/ds815/repos/guix/tests/syscalls.scm:559
source:
+ (test-assert
+   "tcsetattr"
+   (let ((first (tcgetattr 0)))
+     (tcsetattr 0 (tcsetattr-action TCSANOW) first)
+     (equal? first (tcgetattr 0))))
result: SKIP

Running `make check -j20 TESTS="tests/syscalls.scm"` works fine and everything
passes. It seems like some other test is causing

(test-skip (if (and (file-exists? "/proc/self/fd/0")
                    (string-prefix? "/dev/pts/" (readlink "/proc/self/fd/0")))
               0
               2))

to skip the two tests by doing *something* to /proc/self/fd/0. Has anyone else
experienced this or is able to reproduce it?

Thanks!

--
Domagoj