tests: pack: Fix indentation.

* tests/pack.scm: Fix indentation.
This commit is contained in:
Maxim Cournoyer 2023-07-18 11:43:45 -04:00
parent d5f8b50365
commit c75022d65f
No known key found for this signature in database
GPG key ID: 1260E46482E63562

View file

@ -239,15 +239,14 @@ (define bin
((layer) ((layer)
(invoke "tar" "xvf" layer))) (invoke "tar" "xvf" layer)))
(when (when (and (file-exists? (string-append bin "/guile"))
(and (file-exists? (string-append bin "/guile")) (file-exists? "var/guix/db/db.sqlite")
(file-exists? "var/guix/db/db.sqlite") (file-is-directory? "tmp")
(file-is-directory? "tmp") (string=? (string-append #$%bootstrap-guile "/bin")
(string=? (string-append #$%bootstrap-guile "/bin") (pk 'binlink (readlink bin)))
(pk 'binlink (readlink bin))) (string=? (string-append #$profile "/bin/guile")
(string=? (string-append #$profile "/bin/guile") (pk 'guilelink (readlink "bin/Guile"))))
(pk 'guilelink (readlink "bin/Guile")))) (mkdir #$output)))))))
(mkdir #$output)))))))
(built-derivations (list check)))) (built-derivations (list check))))
(unless store (test-skip 1)) (unless store (test-skip 1))
@ -310,71 +309,72 @@ (define bin
(plain-file "postinst" (plain-file "postinst"
"echo running configure script\n")))) "echo running configure script\n"))))
(check (check
(gexp->derivation "check-deb-pack" (gexp->derivation
(with-imported-modules '((guix build utils)) "check-deb-pack"
#~(begin (with-imported-modules '((guix build utils))
(use-modules (guix build utils) #~(begin
(ice-9 match) (use-modules (guix build utils)
(ice-9 popen) (ice-9 match)
(ice-9 rdelim) (ice-9 popen)
(ice-9 textual-ports) (ice-9 rdelim)
(rnrs base)) (ice-9 textual-ports)
(rnrs base))
(setenv "PATH" (string-join (setenv "PATH" (string-join
(list (string-append #+%tar-bootstrap "/bin") (list (string-append #+%tar-bootstrap "/bin")
(string-append #+dpkg "/bin") (string-append #+dpkg "/bin")
(string-append #+%ar-bootstrap "/bin")) (string-append #+%ar-bootstrap "/bin"))
":")) ":"))
;; Validate the output of 'dpkg --info'. ;; Validate the output of 'dpkg --info'.
(let* ((port (open-pipe* OPEN_READ "dpkg" "--info" #$deb)) (let* ((port (open-pipe* OPEN_READ "dpkg" "--info" #$deb))
(info (get-string-all port)) (info (get-string-all port))
(exit-val (status:exit-val (close-pipe port)))) (exit-val (status:exit-val (close-pipe port))))
(assert (zero? exit-val)) (assert (zero? exit-val))
(assert (string-contains (assert (string-contains
info info
(string-append "Package: " (string-append "Package: "
#+(package-name %bootstrap-guile)))) #+(package-name %bootstrap-guile))))
(assert (string-contains (assert (string-contains
info info
(string-append "Version: " (string-append "Version: "
#+(package-version %bootstrap-guile))))) #+(package-version %bootstrap-guile)))))
;; Sanity check .deb contents. ;; Sanity check .deb contents.
(invoke "ar" "-xv" #$deb) (invoke "ar" "-xv" #$deb)
(assert (file-exists? "debian-binary")) (assert (file-exists? "debian-binary"))
(assert (file-exists? "data.tar.gz")) (assert (file-exists? "data.tar.gz"))
(assert (file-exists? "control.tar.gz")) (assert (file-exists? "control.tar.gz"))
;; Verify there are no hard links in data.tar.gz, as hard ;; Verify there are no hard links in data.tar.gz, as hard
;; links would cause dpkg to fail unpacking the archive. ;; links would cause dpkg to fail unpacking the archive.
(define hard-links (define hard-links
(let ((port (open-pipe* OPEN_READ "tar" "-tvf" "data.tar.gz"))) (let ((port (open-pipe* OPEN_READ "tar" "-tvf" "data.tar.gz")))
(let loop ((hard-links '())) (let loop ((hard-links '()))
(match (read-line port) (match (read-line port)
((? eof-object?) ((? eof-object?)
(assert (zero? (status:exit-val (close-pipe port)))) (assert (zero? (status:exit-val (close-pipe port))))
hard-links) hard-links)
(line (line
(if (string-prefix? "u" line) (if (string-prefix? "u" line)
(loop (cons line hard-links)) (loop (cons line hard-links))
(loop hard-links))))))) (loop hard-links)))))))
(unless (null? hard-links) (unless (null? hard-links)
(error "hard links found in data.tar.gz" hard-links)) (error "hard links found in data.tar.gz" hard-links))
;; Verify the presence of the control files. ;; Verify the presence of the control files.
(invoke "tar" "-xf" "control.tar.gz") (invoke "tar" "-xf" "control.tar.gz")
(assert (file-exists? "control")) (assert (file-exists? "control"))
(assert (and (file-exists? "postinst") (assert (and (file-exists? "postinst")
(= #o111 ;script is executable (= #o111 ;script is executable
(logand #o111 (stat:perms (logand #o111 (stat:perms
(stat "postinst")))))) (stat "postinst"))))))
(assert (file-exists? "triggers")) (assert (file-exists? "triggers"))
(mkdir #$output)))))) (mkdir #$output))))))
(built-derivations (list check)))) (built-derivations (list check))))
(unless store (test-skip 1)) (unless store (test-skip 1))
@ -390,32 +390,33 @@ (define hard-links
#:symlinks '(("/bin/guile" -> "bin/guile")) #:symlinks '(("/bin/guile" -> "bin/guile"))
#:extra-options '(#:relocatable? #t))) #:extra-options '(#:relocatable? #t)))
(check (check
(gexp->derivation "check-rpm-pack" (gexp->derivation
(with-imported-modules (source-module-closure "check-rpm-pack"
'((guix build utils))) (with-imported-modules (source-module-closure
#~(begin '((guix build utils)))
(use-modules (guix build utils)) #~(begin
(use-modules (guix build utils))
(define fakeroot #+(file-append fakeroot "/bin/fakeroot")) (define fakeroot #+(file-append fakeroot "/bin/fakeroot"))
(define rpm #+(file-append rpm-for-tests "/bin/rpm")) (define rpm #+(file-append rpm-for-tests "/bin/rpm"))
(mkdir-p "/tmp/lib/rpm") (mkdir-p "/tmp/lib/rpm")
;; Install the RPM package. This causes RPM to validate the ;; Install the RPM package. This causes RPM to validate the
;; signatures, header as well as the file digests, which ;; signatures, header as well as the file digests, which
;; makes it a rather thorough test. ;; makes it a rather thorough test.
(mkdir "test-prefix") (mkdir "test-prefix")
(invoke fakeroot rpm "--install" (invoke fakeroot rpm "--install"
(string-append "--prefix=" (getcwd) "/test-prefix") (string-append "--prefix=" (getcwd) "/test-prefix")
#$rpm-pack) #$rpm-pack)
;; Invoke the installed Guile command. ;; Invoke the installed Guile command.
(invoke "./test-prefix/bin/guile" "--version") (invoke "./test-prefix/bin/guile" "--version")
;; Uninstall the RPM package. ;; Uninstall the RPM package.
(invoke fakeroot rpm "--erase" "guile-bootstrap") (invoke fakeroot rpm "--erase" "guile-bootstrap")
;; Required so the above is run. ;; Required so the above is run.
(mkdir #$output)))))) (mkdir #$output))))))
(built-derivations (list check))))) (built-derivations (list check)))))
(test-end) (test-end)