Subject: Re: gnu: u-boot-tools: Only run full test suite on x86.

From: Vagrant Cascadian <[email-masked]>
Date: Mon, 29 Apr 2019 16:32:40 -0700

I neglected to mention in my initial submission that the test suite has
failed on non-x86 architectures since I started testing u-boot on Guix a
year or so ago...

It blocks working support for veyron-speedy/Asus C201, and that would be
very nice to have fixed for 1.0, of course!

I may need to update the patch to exclude i686-linux from the full test
suite, as it seems with u-boot 2019.04 to also fail with 32-bit x86
making some 64-bit assumptions...

Thanks for the review, if you can!

live well,
  vagrant

On 2019-04-28, Vagrant Cascadian wrote:
> * gnu/packages/bootloaders (u-boot-tools)[check]: Remove x86 tests.
>   [check-x86]: New phase with x86 tests.
>   [patch]: Patch test-imagetools.sh to test binaries to be installed.
> ---
>  gnu/packages/bootloaders.scm | 23 +++++++++++++++++------
>  1 file changed, 17 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
> index b4eabaea48..0cd72fb44c 100644
> --- a/gnu/packages/bootloaders.scm
> +++ b/gnu/packages/bootloaders.scm
> @@ -442,6 +442,10 @@ also initializes the boards (RAM etc).")
>                (("def test_ctrl_c")
>                 "@pytest.mark.skip(reason='Guix has problems with SIGINT')
>  def test_ctrl_c"))
> +             ;; Test against the tools being installed rather than tools built
> +             ;; for "sandbox" target.
> +             (substitute* "test/image/test-imagetools.sh"
> +               (("BASEDIR=sandbox") "BASEDIR=."))
>               (for-each (lambda (file)
>                                (substitute* file
>                                    ;; Disable signatures, due to GPL/Openssl
> @@ -484,12 +488,19 @@ def test_ctrl_c"))
>             (delete 'check)
>             (add-after 'install 'check
>               (lambda* (#:key make-flags test-target #:allow-other-keys)
> -               (apply invoke "make" "mrproper" make-flags)
> -               (setenv "SDL_VIDEODRIVER" "dummy")
> -               (setenv "PAGER" "cat")
> -               (apply invoke "make" test-target make-flags)
> -               (symlink "build-sandbox_spl" "sandbox")
> -               (invoke "test/image/test-imagetools.sh"))))))
> +               (invoke "test/image/test-imagetools.sh")))
> +           ;; Only run full test suite on x86 systems, as many tests assume
> +           ;; x86.
> +           ,@(if (string-match "^(x86_64|i686)-linux"
> +                               (or (%current-target-system)
> +                                   (%current-system)))
> +                 '((add-after 'check 'check-x86
> +                     (lambda* (#:key make-flags test-target #:allow-other-keys)
> +                       (apply invoke "make" "mrproper" make-flags)
> +                       (setenv "SDL_VIDEODRIVER" "dummy")
> +                       (setenv "PAGER" "cat")
> +                       (apply invoke "make" test-target make-flags))))
> +                 '()))))
>      (description "U-Boot is a bootloader used mostly for ARM boards.  It
>  also initializes the boards (RAM etc).  This package provides its
>  board-independent tools.")))
> -- 
> 2.20.1