;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (test-scripts) #:use-module (guix scripts) #:use-module ((guix scripts build) #:select (%standard-build-options)) #:use-module (srfi srfi-64)) ;; Test the (guix scripts) module. (define-syntax-rule (with-environment-variable variable value body ...) "Run BODY with VARIABLE set to VALUE." (let ((orig (getenv variable))) (dynamic-wind (lambda () (setenv variable value)) (lambda () body ...) (lambda () (if orig (setenv variable orig) (unsetenv variable)))))) (test-begin "scripts") (test-equal "parse-command-line" '((argument . "bar") (argument . "foo") (cores . 10) ;takes precedence (substitutes? . #f) (keep-failed? . #t) (max-jobs . 77) (cores . 42)) (with-environment-variable "GUIX_BUILD_OPTIONS" "-c 42 -M 77" (parse-command-line '("--keep-failed" "--no-substitutes" "--cores=10" "foo" "bar") %standard-build-options (list '())))) (test-equal "parse-command-line and --no options" '((argument . "foo") (substitutes? . #f)) ;takes precedence (with-environment-variable "GUIX_BUILD_OPTIONS" "--no-substitutes" (parse-command-line '("foo") %standard-build-options (list '((substitutes? . #t)))))) (test-end "scripts") ;;; Local Variables: ;;; eval: (put 'with-environment-variable 'scheme-indent-function 2) ;;; End: p;showmsg=1'>tests/import-utils.scm
AgeCommit message (Collapse)Author
2022-10-05tests: Add new test cases for beautify-description.Ricardo Wurmus
* tests/import-utils.scm ("beautify-description: use double spacing"): Update. ("beautify-description: remove single quotes", "beautify-description: escape @"): New tests.
2022-09-29import/utils: alist->package: Include properties.itd
* guix/import/utils.scm (alist->package): Process properties field in input data and include it in the generated package. * tests/import-utils.scm ("alist->package with properties"): New test. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-09-01import: utils: Skip not found packages.Sarah Morgensen
* 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>
2020-12-27import/utils: alist->package: Handle SPDX license names only as fallback.Ricardo Wurmus
Fixes <https://bugs.gnu.org/45453>. * guix/import/utils.scm (alist->package): Find plain license names in (guix licenses) first, and only fall back to SPDX names on error. * tests/import-utils.scm ("alist->package with SPDX license name 1/2", "alist->package with SPDX license name 2/2"): New tests.
2020-12-02import: utils: 'recursive-import' accepts an optional version parameter.Martin Becze
This adds a key VERSION to 'recursive-import' and moves the parameter REPO to a key. This also changes all the places that rely on 'recursive-import'. * guix/import/utils.scm (recursive-import): Add the VERSION key. Make REPO a key. (package->definition): Add optional 'append-version?'. * guix/scripts/import/crate.scm (guix-import-crate): Add the VERSION key. * guix/import/crate.scm (crate->guix-package): Add the VERSION key. (crate-recursive-import): Pass VERSION to recursive-import, remove now unnecessary code. * guix/import/cran.scm (cran->guix-package, cran-recursive-import): Change the REPO parameter to a key. * guix/import/elpa.scm (elpa->guix-package, elpa-recursive-import): Likewise. * guix/import/gem.scm (gem->guix-package, recursive-import): Likewise. * guix/import/opam.scm (opam-recurive-import): Likewise. * guix/import/pypi.scm (pypi-recursive-import): Likewise. * guix/import/stackage.scm (stackage-recursive-import): Likewise. * guix/scripts/import/cran.scm (guix-import-cran): Likewise. * guix/scripts/import/elpa.scm (guix-import-elpa): Likewise. * tests/elpa.scm (eval-test-with-elpa): Likewise. * tests/import-utils.scm (recursive-import): Likewise. Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>