mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 21:20:33 +02:00
guix package: 'transaction-upgrade-entry' swallows build requests.
Fixes a regression introduced in
131f50cdc9 whereby the install/upgrade
message would not be displayed:
$ guix upgrade -n
2.1 MB would be downloaded:
/gnu/store/…-something-1.2
/gnu/store/…-its-dependency-2.3
This is because we'd directly abort from 'transaction-upgrade-entry' to
the build handler of 'build-notifier'.
* guix/scripts/package.scm (transaction-upgrade-entry): Call 'string=?'
expression in 'with-build-handler'.
* tests/packages.scm ("transaction-upgrade-entry, grafts"): New test.
This commit is contained in:
@@ -148,6 +148,30 @@
|
||||
(string=? (manifest-pattern-version pattern) "1")
|
||||
(string=? (manifest-pattern-output pattern) "out")))))))
|
||||
|
||||
(test-assert "transaction-upgrade-entry, grafts"
|
||||
;; Ensure that, when grafts are enabled, 'transaction-upgrade-entry' doesn't
|
||||
;; try to build stuff.
|
||||
(with-build-handler (const 'failed!)
|
||||
(parameterize ((%graft? #t))
|
||||
(let* ((old (dummy-package "foo" (version "1")))
|
||||
(bar (dummy-package "bar" (version "0")
|
||||
(replacement old)))
|
||||
(new (dummy-package "foo" (version "1")
|
||||
(inputs `(("bar" ,bar)))))
|
||||
(tx (mock ((gnu packages) find-best-packages-by-name
|
||||
(const (list new)))
|
||||
(transaction-upgrade-entry
|
||||
%store
|
||||
(manifest-entry
|
||||
(inherit (package->manifest-entry old))
|
||||
(item (string-append (%store-prefix) "/"
|
||||
(make-string 32 #\e) "-foo-1")))
|
||||
(manifest-transaction)))))
|
||||
(and (match (manifest-transaction-install tx)
|
||||
((($ <manifest-entry> "foo" "1" "out" item))
|
||||
(eq? item new)))
|
||||
(null? (manifest-transaction-remove tx)))))))
|
||||
|
||||
(test-assert "package-field-location"
|
||||
(let ()
|
||||
(define (goto port line column)
|
||||
|
||||
Reference in New Issue
Block a user