aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-12-04 16:53:14 +0100
committerLudovic Courtès <ludo@gnu.org>2020-12-04 16:59:26 +0100
commite3065ec11742eef58ca688db240d86031941a39a (patch)
tree47dd7a0793b5f0b9158e579adac875d8986938e5
parent576c47f14167f6f89e3c1701debc9911350bb44b (diff)
downloadguix-e3065ec11742eef58ca688db240d86031941a39a.tar.gz
guix-e3065ec11742eef58ca688db240d86031941a39a.zip
import: crate: Skip tests when Guile-Semver is missing.
* guix/import/crate.scm: Add comment for the 'module-autoload!' calls. * tests/crate.scm (have-guile-semver?): New variable. ("crate->guix-package", "cargo-recursive-import") ("cargo-recursive-import-hoors-existing-packages"): Skip when HAVE-GUILE-SEMVER? is false.
-rw-r--r--guix/import/crate.scm1
-rw-r--r--tests/crate.scm8
2 files changed, 8 insertions, 1 deletions
diff --git a/guix/import/crate.scm b/guix/import/crate.scm
index 3bc261b04e..c10c0d55ea 100644
--- a/guix/import/crate.scm
+++ b/guix/import/crate.scm
@@ -92,6 +92,7 @@
string->symbol)
(requirement crate-dependency-requirement "req")) ;string
+;; Autoload Guile-Semver so we only have a soft dependency.
(module-autoload! (current-module)
'(semver) '(string->semver semver->string semver<?))
(module-autoload! (current-module)
diff --git a/tests/crate.scm b/tests/crate.scm
index a24f734093..bb7032c344 100644
--- a/tests/crate.scm
+++ b/tests/crate.scm
@@ -317,6 +317,9 @@
(define test-source-hash
"")
+(define have-guile-semver?
+ (false-if-exception (resolve-interface '(semver))))
+
(test-begin "crate")
@@ -326,8 +329,9 @@
(dummy-package
"rust-rustc-serialize"
(source (dummy-origin
- (uri (crate-uri "rustc-serialize" "1.0")))))))
+ (uri (crate-uri "rustc-serialize" "1.0")))))))
+(unless have-guile-semver? (test-skip 1))
(test-assert "crate->guix-package"
;; Replace network resources with sample data.
(mock ((guix http-client) http-fetch
@@ -380,6 +384,7 @@
(x
(pk 'fail x #f)))))
+(unless have-guile-semver? (test-skip 1))
(test-assert "cargo-recursive-import"
;; Replace network resources with sample data.
(mock ((guix http-client) http-fetch
@@ -614,6 +619,7 @@
(test-assert "self-test: rust-docopt 0.8.x is gone, please adjust the test case"
(not (null? (find-packages-by-name "rust-docopt" "0.8"))))
+(unless have-guile-semver? (test-skip 1))
(test-assert "cargo-recursive-import-hoors-existing-packages"
(mock ((guix http-client) http-fetch
(lambda (url . rest)