~ruther/guix-local

ab01e5adb21810f865c6e13e91a6d1ffc349d943 — Ludovic Courtès 10 months ago 69710d1
tests: debian-install: Install the ‘uidmap’ package.

* gnu/tests/foreign.scm (run-foreign-install-test): Add #:deb-files.
[test]("install extra .deb packages"): New test.
(debian-uidmap-deb-file): New variable.
(%test-debian-install): Pass it via #:deb-files.

Change-Id: I489056131d6ff20763457c29610af71866a396b2
1 files changed, 24 insertions(+), 3 deletions(-)

M gnu/tests/foreign.scm
M gnu/tests/foreign.scm => gnu/tests/foreign.scm +24 -3
@@ 159,10 159,12 @@ system is expected to be on DEVICE."
  (file-append (package-source guix) "/etc/guix-install.sh"))

(define* (run-foreign-install-test image name
                                   #:key (device "/dev/vdb1"))
                                   #:key (device "/dev/vdb1")
                                   (deb-files '()))
  "Run an installation of Guix in IMAGE, the QCOW2 image of a systemd-based
GNU/Linux distro, and check that the installation is functional.  The root
partition of IMAGE is expected to be on DEVICE."
partition of IMAGE is expected to be on DEVICE.  Prior to that, install all
of DEB-FILES with 'dpkg -i'."
  (define instrumented-image
    (qcow-image-with-marionette image
                                #:name (string-append name ".qcow2")


@@ 234,6 236,14 @@ partition of IMAGE is expected to be on DEVICE."
                                #t)
                             marionette))

          (test-assert "install extra .deb packages"
            (marionette-eval
             '(and #$@(map (lambda (deb)
                             #~(system* "dpkg" "-i"
                                        (in-vicinity "/host" (basename #$deb))))
                           deb-files))
             marionette))

          (test-assert "run install script"
            (marionette-eval '(system
                               (string-append


@@ 283,6 293,16 @@ partition of IMAGE is expected to be on DEVICE."
     (base32
      "0g7kcvz2yzr0xchlv5kc8d2rd2lzk4akh02i43i92cmys7q3r05c"))))

(define debian-uidmap-deb-file
  ;; This package provides 'newgidmap' & co., used by the unprivileged daemon.
  (origin
    (uri
     "http://ftp.debian.org/debian/pool/main/s/shadow/uidmap_4.13+dfsg1-1+deb12u1_amd64.deb")
    (method url-fetch)
    (sha256
     (base32
      "0iqhljzmnni3k3jc1xb0mrb7cqywkzrmdc2322kd8b1wpw45zv8l"))))

;; This test starts failing when derivations in repo for GNU Hello and its dependencies
;; differs from versions in current Guix package. The simple way to fix it is to update
;; Guix package version.


@@ 292,7 312,8 @@ partition of IMAGE is expected to be on DEVICE."
   (description
    "Test installation of Guix on Debian using the @file{guix-install.sh}
script.")
   (value (run-foreign-install-test debian-13-qcow2 name))))
   (value (run-foreign-install-test debian-13-qcow2 name
                                    #:deb-files (list debian-uidmap-deb-file)))))

(define archlinux-qcow2
  ;; Images generated by <https://gitlab.archlinux.org/archlinux/arch-boxes>;