mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
tests: Import (guix build syscalls) when (guix build store-copy) is used.
Fixes a test failure introduced in
189525412e
.
* guix/progress.scm: Autoload (guix build syscalls).
* tests/gexp.scm ("gexp->derivation, store copy"): Add (guix build
syscalls) to the list of imported modules. Use ‘with-imported-modules’
rather than #:modules.
Change-Id: I8d3fe90f564ef4b1a340f34cee6c08a741f7b836
This commit is contained in:
parent
e04f8fe4ea
commit
9b48cf8cdd
2 changed files with 28 additions and 28 deletions
|
@ -21,8 +21,7 @@
|
|||
|
||||
(define-module (guix progress)
|
||||
#:use-module (guix records)
|
||||
#:use-module ((guix build syscalls)
|
||||
#:select (terminal-string-width))
|
||||
#:autoload (guix build syscalls) (terminal-string-width)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (rnrs bytevectors)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021-2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -826,38 +826,39 @@ (define guile ,guile)
|
|||
(call-with-output-file (string-append #$output "/two")
|
||||
(lambda (port)
|
||||
(display "This is the second one." port))))))
|
||||
(build-drv #~(begin
|
||||
(use-modules (guix build store-copy)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
(build-drv
|
||||
(with-imported-modules '((guix build store-copy)
|
||||
(guix build syscalls)
|
||||
(guix progress)
|
||||
(guix records)
|
||||
(guix sets)
|
||||
(guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build store-copy)
|
||||
(guix build utils)
|
||||
(srfi srfi-1))
|
||||
|
||||
(define (canonical-file? file)
|
||||
;; Copied from (guix tests).
|
||||
(let ((st (lstat file)))
|
||||
(or (not (string-prefix? (%store-directory) file))
|
||||
(eq? 'symlink (stat:type st))
|
||||
(and (= 1 (stat:mtime st))
|
||||
(zero? (logand #o222 (stat:mode st)))))))
|
||||
(define (canonical-file? file)
|
||||
;; Copied from (guix tests).
|
||||
(let ((st (lstat file)))
|
||||
(or (not (string-prefix? (%store-directory) file))
|
||||
(eq? 'symlink (stat:type st))
|
||||
(and (= 1 (stat:mtime st))
|
||||
(zero? (logand #o222 (stat:mode st)))))))
|
||||
|
||||
(mkdir #$output)
|
||||
(populate-store '("graph") #$output
|
||||
#:deduplicate? #f)
|
||||
(mkdir #$output)
|
||||
(populate-store '("graph") #$output
|
||||
#:deduplicate? #f)
|
||||
|
||||
;; Check whether 'populate-store' canonicalizes
|
||||
;; permissions and timestamps.
|
||||
(unless (every canonical-file? (find-files #$output))
|
||||
(error "not canonical!" #$output)))))
|
||||
;; Check whether 'populate-store' canonicalizes
|
||||
;; permissions and timestamps.
|
||||
(unless (every canonical-file? (find-files #$output))
|
||||
(error "not canonical!" #$output))))))
|
||||
(mlet* %store-monad ((one (gexp->derivation "one" build-one))
|
||||
(two (gexp->derivation "two" (build-two one)))
|
||||
(drv (gexp->derivation "store-copy" build-drv
|
||||
#:references-graphs
|
||||
`(("graph" ,two))
|
||||
#:modules
|
||||
'((guix build store-copy)
|
||||
(guix progress)
|
||||
(guix records)
|
||||
(guix sets)
|
||||
(guix build utils))))
|
||||
`(("graph" ,two))))
|
||||
(ok? (built-derivations (list drv)))
|
||||
(out -> (derivation->output-path drv)))
|
||||
(let ((one (derivation->output-path one))
|
||||
|
|
Loading…
Reference in a new issue