summaryrefslogtreecommitdiff
path: root/tests/transformations.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-10-12 14:33:56 +0300
committerEfraim Flashner <efraim@flashner.co.il>2022-10-12 14:36:44 +0300
commit322917aeb8e672c21378fd371a5cff4a9f0c2520 (patch)
tree70229faa39f14caa09b769153453c3898f64f7fc /tests/transformations.scm
parent407f017663c97ebfe48e3cb304bf97bf2557f83f (diff)
parente1baf802ccd8af4f7b416b0987db706f2dbfc42f (diff)
Merge remote-tracking branch 'origin/master' into staging
Conflicts: gnu/packages/gnuzilla.scm gnu/packages/graphics.scm gnu/packages/gstreamer.scm gnu/packages/gtk.scm gnu/packages/kde-frameworks.scm gnu/packages/video.scm
Diffstat (limited to 'tests/transformations.scm')
-rw-r--r--tests/transformations.scm32
1 files changed, 25 insertions, 7 deletions
diff --git a/tests/transformations.scm b/tests/transformations.scm
index dbfe523518..47b1fc650d 100644
--- a/tests/transformations.scm
+++ b/tests/transformations.scm
@@ -103,16 +103,11 @@
"sha256" f))))))))))
(test-assert "options->transformation, with-source, no matches"
- ;; When a transformation in not applicable, a warning must be raised.
(let* ((p (dummy-package "foobar"))
(s (search-path %load-path "guix.scm"))
(t (options->transformation `((with-source . ,s)))))
- (let* ((port (open-output-string))
- (new (parameterize ((guix-warning-port port))
- (t p))))
- (and (eq? new p)
- (string-contains (get-output-string port)
- "had no effect")))))
+ (eq? (package-source (t p))
+ (package-source p))))
(test-assert "options->transformation, with-source, PKG=URI"
(let* ((p (dummy-package "foo"))
@@ -147,6 +142,29 @@
(add-to-store store (basename s) #t
"sha256" s)))))))
+(test-assert "options->transformation, with-source, in depth"
+ (let* ((p0 (dummy-package "foo" (version "0.0")))
+ (s (search-path %load-path "guix.scm"))
+ (f (string-append "foo@42.0=" s))
+ (t (options->transformation `((with-source . ,f))))
+ (p1 (dummy-package "bar" (inputs (list p0))))
+ (p2 (dummy-package "baz" (inputs (list p1)))))
+ (with-store store
+ (let ((new (t p2)))
+ (and (not (eq? new p2))
+ (match (package-inputs new)
+ ((("bar" p1*))
+ (match (package-inputs p1*)
+ ((("foo" p0*))
+ (and (not (eq? p0* p0))
+ (string=? (package-name p0*) (package-name p0))
+ (string=? (package-version p0*) "42.0")
+ (string=? (add-to-store store (basename s) #t
+ "sha256" s)
+ (run-with-store store
+ (lower-object
+ (package-source p0*))))))))))))))
+
(test-assert "options->transformation, with-input"
(let* ((p (dummy-package "guix.scm"
(inputs `(("foo" ,(specification->package "coreutils"))