tests: Exercise 'modify-inputs' with a 'replace' clause.

* tests/packages.scm ("modify-inputs, replace")
("modify-inputs, replace, change output"): New tests.
This commit is contained in:
Ludovic Courtès 2022-03-15 15:17:04 +01:00
parent 66a4a5ecb2
commit e3801126a9
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -1956,6 +1956,32 @@ (define (list->set* lst)
(dummy-package "a"
(arguments (this-package-native-input "hello")))))
(test-eq "modify-inputs, replace"
coreutils
;; Replace an input; notice that the label in unchanged.
(let* ((p1 (dummy-package "p"
(inputs (list hello))))
(p2 (package
(inherit p1)
(version "1")
(inputs (modify-inputs (package-inputs p1)
(replace "hello" coreutils))))))
(lookup-package-input p2 "hello")))
(test-eq "modify-inputs, replace, change output"
guile-3.0
;; Replace an input and choose a different output.
(let* ((p1 (dummy-package "p"
(inputs (list `(,coreutils "debug")))))
(p2 (package
(inherit p1)
(version "1")
(inputs (modify-inputs (package-inputs p1)
(replace "coreutils" `(,guile-3.0 "out")))))))
(match (package-inputs p2)
((("coreutils" input "out"))
input))))
(test-end "packages")
;;; Local Variables: