Subject: Re: [PATCH v2 1/6] gnu: add crun

From: Ludovic Courtès <[email-masked]>
Date: Fri, 24 Dec 2021 16:23:27 +0100

Hello,

Timmy Douglas <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:

[...]

>> Sorry for not noticing earlier: we try hard to run test suites, and only
>> disable it as a last resort, with a comment explaining why.  Often, we
>> disable specific tests that cannot run in the build environment (for
>> instance because they assume network access) and run everything else.
>>
>> I had a quick go at running crun’s test suite, and there’s a number of
>> failures, which is not reassuring.
>>
>> Could you investigate a bit with the goal of fixing any actual issues
>> the test suite reveals and/or skipping individual tests that cannot be
>> run?
>
> are there some docs I could refer to on how Guix sandboxes the build?
> I tried
> https://guix.gnu.org/manual/en/html_node/Debugging-Build-Failures.html#Debugging-Build-Failures
> but I think I need to go further than sourcing env vars.

Pretty much all the tricks are there.

There’s also info on what’s visible in the build environment here:

  https://guix.gnu.org/manual/en/html_node/Invoking-guix_002ddaemon.html

> I tried modifying `make check` phase to invoking `mount` to see if I
> could poke around (which didn't exactly work in my quick attempt...)
> because I'm not sure how to debug some of the issues. I suspect some are
> due to the fs layout/mounts. Probably could figure it out with some more
> time but thought it might be best to ask first.
>
> With these changes I could get them to pass by manually `make check`ing
> in the --keep-failed directory:
>
>            (add-after 'unpack 'fix-tests
>              (lambda _
>                (substitute* (find-files "tests" "\\.(c|py)")
>                  (("/bin/true") (which "true"))
>                  (("/bin/false") (which "false"))
>                  ; relies on sd_notify which requires systemd?
>                  (("\"sd-notify\" : test_sd_notify,") "")
>                  (("\"sd-notify-file\" : test_sd_notify_file,") "")))))))
>
>
> from guix build:
>
> ============================================================================
> Testsuite summary for crun UNKNOWN
> ============================================================================
> # TOTAL: 73
> # PASS:  9
> # SKIP:  28
> # XFAIL: 0
> # FAIL:  36
> # XPASS: 0
> # ERROR: 0

There are 36 failures though; does ‘test-suite.log’ show more details?

Thanks,
Ludo’.