aboutsummaryrefslogtreecommitdiff
path: root/tests/pypi.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-03-28 00:26:00 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2019-07-02 10:07:59 +0900
commitc4797121beea74ae93e3ce17677b9e72b8df920d (patch)
treedbf3a5585a087b54b349908c86f32b5735e5c35a /tests/pypi.scm
parenta853acebe1ccdba51ae509cd8a838a954c7c8bd2 (diff)
downloadguix-c4797121beea74ae93e3ce17677b9e72b8df920d.tar
guix-c4797121beea74ae93e3ce17677b9e72b8df920d.tar.gz
import: pypi: Do not parse optional requirements from source.
* guix/import/pypi.scm: Export PARSE-REQUIRES.TXT. (clean-requirement): Move procedure to the top level. (guess-requirements): Move the READ-REQUIREMENTS procedure to the top level, and rename it to PARSE-REQUIRES.TXT. Move the CLEAN-REQUIREMENT procedure to the top level. Move the COMMENT? functions inside the PARSE-REQUIRES.TXT procedure. (parse-requires.txt): Add a SECTION-HEADER? predicate, and use it to prevent parsing optional requirements. * tests/pypi.scm (test-requires-with-sections): New variable. ("parse-requires.txt, with sections"): New test.
Diffstat (limited to 'tests/pypi.scm')
-rw-r--r--tests/pypi.scm14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/pypi.scm b/tests/pypi.scm
index 6df69073dc..03455ba6be 100644
--- a/tests/pypi.scm
+++ b/tests/pypi.scm
@@ -62,6 +62,14 @@ bar
baz > 13.37
")
+(define test-requires-with-sections "\
+foo ~= 3
+bar != 2
+
+[test]
+pytest (>=2.5.0)
+")
+
(define test-metadata
"{
\"run_requires\": [
@@ -101,6 +109,12 @@ baz > 13.37
(uri (list "https://bitheap.org/cram/cram-0.7.tar.gz"
(pypi-uri "cram" "0.7"))))))))
+(test-equal "parse-requires.txt, with sections"
+ '("foo" "bar")
+ (mock ((ice-9 ports) call-with-input-file
+ call-with-input-string)
+ (parse-requires.txt test-requires-with-sections)))
+
(test-assert "pypi->guix-package"
;; Replace network resources with sample data.
(mock ((guix import utils) url-fetch