diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-12-13 00:23:20 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-12-13 00:23:20 +0100 |
commit | fdb50f8d8aba87e48c00a9633ed3e43b13792c3e (patch) | |
tree | 439451f736175c0e99b44ffd15b99c5a5f364e97 /tests | |
parent | a9128eac414e56882a12571e4856873a19ff6ec3 (diff) | |
download | guix-fdb50f8d8aba87e48c00a9633ed3e43b13792c3e.tar guix-fdb50f8d8aba87e48c00a9633ed3e43b13792c3e.tar.gz |
tests: base32: Work around `system*' bug.
* tests/base32.scm (%nix-hash): When `getenv' returns the empty string,
ignore it.
(%have-nix-hash?): New variable. Update `test-skip' clause to use it.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/base32.scm | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/tests/base32.scm b/tests/base32.scm index b8b9ebb0dd..d1bbaa1764 100644 --- a/tests/base32.scm +++ b/tests/base32.scm @@ -23,15 +23,24 @@ #:use-module (srfi srfi-64) #:use-module (ice-9 rdelim) #:use-module (ice-9 popen) + #:use-module (ice-9 match) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports)) ;; Test the (guix base32) module. (define %nix-hash - (or (getenv "NIX_HASH") + (or (and=> (getenv "NIX_HASH") + (match-lambda + ("" #f) + (val val))) "nix-hash")) +(define %have-nix-hash? + ;; Note: Use `system', not `system*', because of <http://bugs.gnu.org/13166>. + (false-if-exception + (zero? (system (string-append %nix-hash " --version"))))) + (test-begin "base32") (test-assert "bytevector->base32-string" @@ -67,10 +76,9 @@ ;; Examples from RFC 4648. (map string->utf8 '("" "f" "fo" "foo" "foob" "fooba" "foobar")))) -;; The following tests requires `nix-hash' in $PATH. -(test-skip (if (false-if-exception (system* %nix-hash "--version")) - 0 - 1)) +;; The following test requires `nix-hash' in $PATH. +(unless %have-nix-hash? + (test-skip 1)) (test-assert "sha256 & bytevector->nix-base32-string" (let ((file (search-path %load-path "tests/test.drv"))) |