aboutsummaryrefslogtreecommitdiff
path: root/tests/utils.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-03-22 21:58:23 +0100
committerLudovic Courtès <ludo@gnu.org>2014-03-22 22:57:09 +0100
commit7a8024a33ad862fdbc8ae741f0a6f5338cb5b82b (patch)
treec2ab108d3f49f4ead6f964ae46e1c0c3678df66c /tests/utils.scm
parent443eb4e9506026094f5e0dadc3e11d3cf7a86a24 (diff)
downloadgnu-guix-7a8024a33ad862fdbc8ae741f0a6f5338cb5b82b.tar
gnu-guix-7a8024a33ad862fdbc8ae741f0a6f5338cb5b82b.tar.gz
utils: Add 'decompressed-port' and 'compressed-port'.
* guix/utils.scm (decompressed-port, compressed-port): New procedures. * guix/scripts/substitute-binary.scm (decompressed-port): Remove. (guix-substitute-binary): Pass a symbol or #f as the first argument to 'decompress-port'. * tests/utils.scm ("compressed-port, decompressed-port, non-file"): New test.
Diffstat (limited to 'tests/utils.scm')
-rw-r--r--tests/utils.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/utils.scm b/tests/utils.scm
index 85daa3db91..39cad701b8 100644
--- a/tests/utils.scm
+++ b/tests/utils.scm
@@ -150,6 +150,17 @@
(any (compose (negate zero?) cdr waitpid)
pids))))
+(test-assert "compressed-port, decompressed-port, non-file"
+ (let ((data (call-with-input-file (search-path %load-path "guix.scm")
+ get-bytevector-all)))
+ (let*-values (((compressed pids1)
+ (compressed-port 'xz (open-bytevector-input-port data)))
+ ((decompressed pids2)
+ (decompressed-port 'xz compressed)))
+ (and (every (compose zero? cdr waitpid)
+ (append pids1 pids2))
+ (equal? (get-bytevector-all decompressed) data)))))
+
(false-if-exception (delete-file temp-file))
(test-equal "fcntl-flock wait"
42 ; the child's exit status