Robert Vollmert writes: >> On 16. Jul 2019, at 18:28, Marius Bakke wrote: >> >> Robert Vollmert writes: >> >>> I was able to run both tests from the build directory in /tmp, >>> and they both passed fine. Also they both involve user ids, I >>> suspect those might differ in the build container? >>> >>> main = do >>> void $ forkIO $ forever $ getGroupEntryForID 0 >>> void $ forkIO $ forever $ getGroupEntryForID 0 >>> threadDelay (3*1000*1000) >>> >>> main = do >>> root <- getUserEntryForName "root" >>> putStrLn (ue2String root) >>> root' <- getUserEntryForID (userID root) >>> putStrLn (ue2String root') >>> if homeDirectory root == homeDirectory root' && >>> userShell root == userShell root' >>> then putStrLn "OK" >>> else putStrLn “Mismatch" >> >> The only reliable user ID available in the build container is 'nobody' >> with UID and GID 65534 and the (see nix/libstore/build.cc:1862). >> >> You can likely patch these tests to refer to that instead. > > Thanks, I’ll give that a shot! > > > There’s something I don’t understand: Comments above the definition > of ghc-7 mention test failures, particularly one of these (posix010): > > ;; - Test posix010 tries to check the existence of a user on the system: > ;; getUserEntryForName: does not exist (no such user) > > But I don’t see any place in the definitions of any of the GHC packages > (ghc-7, ghc-8.0, ghc-8.4) that patch any tests out, and tests aren’t > disabled either. So how can these packages apparently be fine? It looks like failing tests don't cause these builds to fail for some reason. Here is an excerpt from the GHC 7 build log on 'core-updates' [0]: Unexpected results from: TEST="T8108 process002 process001 posix010 exec_signals T9203 T9961 parsing001 haddock.base" OVERALL SUMMARY for test run started at Wed Jul 10 09:03:57 2019 UTC 0:59:45 spent to go through 4434 total tests, which gave rise to 17996 test cases, of which 13907 were skipped 49 had missing libraries 3989 expected passes 42 expected failures 1 caused framework failures 0 unexpected passes 5 unexpected failures 4 unexpected stat failures Unexpected failures: ../../libraries/process/tests process001 [bad exit code] (normal) ../../libraries/process/tests process002 [bad exit code] (normal) ../../libraries/unix/tests T8108 [bad stderr] (normal) ../../libraries/unix/tests/libposix posix010 [bad exit code] (normal) rts exec_signals [bad exit code] (normal) Unexpected stat failures: perf/compiler T9961 [stat not good enough] (normal) perf/compiler parsing001 [stat too good] (normal) perf/haddock haddock.base [stat too good] (normal) perf/should_run T9203 [stat too good] (normal) make[2]: Leaving directory '/tmp/guix-build-ghc-7.10.2.drv-0/ghc-7.10.2/testsuite/tests' make[1]: Leaving directory '/tmp/guix-build-ghc-7.10.2.drv-0/ghc-7.10.2/testsuite/tests' phase `check' succeeded after 3588.0 seconds [0]: https://ci.guix.gnu.org/log/42f20g43jaxs27jd407wn6fad9cpwjf7-ghc-7.10.2