aboutsummaryrefslogtreecommitdiff
path: root/tests/import-utils.scm
diff options
context:
space:
mode:
authorSarah Morgensen <iskarian@mgsn.dev>2021-08-06 11:05:16 -0700
committerLudovic Courtès <ludo@gnu.org>2021-09-01 23:41:42 +0200
commitf95bdeb93a30b89c821627aa91da4ef3afaeb5af (patch)
tree0f89dbf023f17f57c8803761944f3547fcb8a9b7 /tests/import-utils.scm
parent16579a7c576d205ca78b22777d5ea14973faac7e (diff)
downloadguix-f95bdeb93a30b89c821627aa91da4ef3afaeb5af.tar
guix-f95bdeb93a30b89c821627aa91da4ef3afaeb5af.tar.gz
import: utils: Skip not found packages.
* guix/import/utils.scm (recursive-import): Skip packages when the package returned by 'repo->guix-package' is false. * tests/import-utils.scm: New tests. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'tests/import-utils.scm')
-rw-r--r--tests/import-utils.scm28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/import-utils.scm b/tests/import-utils.scm
index 874816442e..7c6c782917 100644
--- a/tests/import-utils.scm
+++ b/tests/import-utils.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -64,6 +65,33 @@
'())))
#:guix-name identity))
+(test-equal "recursive-import: skip false packages (toplevel)"
+ '()
+ (recursive-import "foo"
+ #:repo 'repo
+ #:repo->guix-package
+ (match-lambda*
+ (("foo" #:version #f #:repo 'repo)
+ (values #f '())))
+ #:guix-name identity))
+
+(test-equal "recursive-import: skip false packages (dependency)"
+ '((package
+ (name "foo")
+ (inputs `(("bar" ,bar)))))
+ (recursive-import "foo"
+ #:repo 'repo
+ #:repo->guix-package
+ (match-lambda*
+ (("foo" #:version #f #:repo 'repo)
+ (values '(package
+ (name "foo")
+ (inputs `(("bar" ,bar))))
+ '("bar")))
+ (("bar" #:version #f #:repo 'repo)
+ (values #f '())))
+ #:guix-name identity))
+
(test-assert "alist->package with simple source"
(let* ((meta '(("name" . "hello")
("version" . "2.10")