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.
This commit is contained in:
Ludovic Courtès 2020-12-04 16:53:14 +01:00
parent 576c47f141
commit e3065ec117
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
2 changed files with 8 additions and 1 deletions

View file

@ -92,6 +92,7 @@ (define-json-mapping <crate-dependency> make-crate-dependency
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)

View file

@ -317,6 +317,9 @@ (define test-leaf-bob-dependencies
(define test-source-hash
"")
(define have-guile-semver?
(false-if-exception (resolve-interface '(semver))))
(test-begin "crate")
@ -326,8 +329,9 @@ (define test-source-hash
(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 @@ (define test-source-hash
(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 @@ (define test-doctool-dependencies
(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)