summaryrefslogtreecommitdiff
path: root/tests/lzlib.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2020-07-27 16:36:39 +0200
committerMathieu Othacehe <othacehe@gnu.org>2020-08-24 13:35:24 +0200
commit4c0c65acfade63ce0549115d19db4b639c1e9992 (patch)
treea0ff270d0e480bb6b875413f8ca269f6d6d9568e /tests/lzlib.scm
parent5abbf435fce8c2245175dcb9b62e5722cfaadc26 (diff)
downloadguix-patches-4c0c65acfade63ce0549115d19db4b639c1e9992.tar
guix-patches-4c0c65acfade63ce0549115d19db4b639c1e9992.tar.gz
Use "guile-zlib" and "guile-lzlib" instead of (guix config).
* Makefile.am (MODULES): Remove guix/zlib.scm and guix/lzlib.scm, (SCM_TESTS): remove tests/zlib.scm, tests/lzlib.scm. * build-aux/build-self.scm (make-config.scm): Remove unused %libz variable. * configure.ac: Remove LIBZ and LIBLZ variables and check instead for Guile-zlib and Guile-lzlib. * doc/guix.texi ("Requirements"): Remove zlib requirement and add Guile-zlib and Guile-lzlib instead. * gnu/packages/package-management.scm (guix)[native-inputs]: Add "guile-zlib" and "guile-lzlib", [inputs]: remove "zlib" and "lzlib", [propagated-inputs]: ditto, [arguments]: add "guile-zlib" and "guile-lzlib" to Guile load path. * guix/config.scm.in (%libz, %liblz): Remove them. * guix/lzlib.scm: Remove it. * guix/man-db.scm: Use (zlib) instead of (guix zlib). * guix/profiles.scm (manual-database): Do not stub (guix config) in imported modules list, instead add "guile-zlib" to the extension list. * guix/scripts/publish.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), (string->compression-type, effective-compression): do not check for zlib and lzlib availability. * guix/scripts/substitute.scm (%compression-methods): Do not check for lzlib availability. * guix/self.scm (specification->package): Add "guile-zlib" and "guile-lzlib" and remove "zlib" and "lzlib", (compiled-guix): remove "zlib" and "lzlib" arguments and add guile-zlib and guile-lzlib to the dependencies, also do not pass "zlib" and "lzlib" to "make-config.scm" procedure, (make-config.scm): remove "zlib" and "lzlib" arguments as well as %libz and %liblz variables. * guix/utils.scm (lzip-port): Use (lzlib) instead of (guix lzlib) and do not check for lzlib availability. * guix/zlib.scm: Remove it. * m4/guix.m4 (GUIX_LIBZ_LIBDIR, GUIX_LIBLZ_FILE_NAME): Remove them. * tests/lzlib.scm: Use (zlib) instead of (guix zlib) and (lzlib) instead of (guix lzlib), and do not check for zlib and lzlib availability. * tests/publish.scm: Ditto. * tests/substitute.scm: Do not check for lzlib availability. * tests/utils.scm: Ditto. * tests/zlib.scm: Remove it.
Diffstat (limited to 'tests/lzlib.scm')
-rw-r--r--tests/lzlib.scm120
1 files changed, 0 insertions, 120 deletions
diff --git a/tests/lzlib.scm b/tests/lzlib.scm
deleted file mode 100644
index 63d1e15641..0000000000
--- a/tests/lzlib.scm
+++ /dev/null
@@ -1,120 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
-;;;
-;;; This file is part of GNU Guix.
-;;;
-;;; GNU Guix is free software; you can redistribute it and/or modify it
-;;; under the terms of the GNU General Public License as published by
-;;; the Free Software Foundation; either version 3 of the License, or (at
-;;; your option) any later version.
-;;;
-;;; GNU Guix is distributed in the hope that it will be useful, but
-;;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;;; GNU General Public License for more details.
-;;;
-;;; You should have received a copy of the GNU General Public License
-;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-
-(define-module (test-lzlib)
- #:use-module (guix lzlib)
- #:use-module (guix tests)
- #:use-module (srfi srfi-64)
- #:use-module (rnrs bytevectors)
- #:use-module (rnrs io ports)
- #:use-module (ice-9 match))
-
-;; Test the (guix lzlib) module.
-
-(define-syntax-rule (test-assert* description exp)
- (begin
- (unless (lzlib-available?)
- (test-skip 1))
- (test-assert description exp)))
-
-(test-begin "lzlib")
-
-(define (compress-and-decompress data)
- "DATA must be a bytevector."
- (pk "Uncompressed bytes:" (bytevector-length data))
- (match (pipe)
- ((parent . child)
- (match (primitive-fork)
- (0 ;compress
- (dynamic-wind
- (const #t)
- (lambda ()
- (close-port parent)
- (call-with-lzip-output-port child
- (lambda (port)
- (put-bytevector port data))))
- (lambda ()
- (primitive-exit 0))))
- (pid ;decompress
- (begin
- (close-port child)
- (let ((received (call-with-lzip-input-port parent
- (lambda (port)
- (get-bytevector-all port)))))
- (match (waitpid pid)
- ((_ . status)
- (pk "Status" status)
- (pk "Length data" (bytevector-length data) "received" (bytevector-length received))
- ;; The following loop is a debug helper.
- (let loop ((i 0))
- (if (and (< i (bytevector-length received))
- (= (bytevector-u8-ref received i)
- (bytevector-u8-ref data i)))
- (loop (+ 1 i))
- (pk "First diff at index" i)))
- (and (zero? status)
- (port-closed? parent)
- (bytevector=? received data)))))))))))
-
-(test-assert* "null bytevector"
- (compress-and-decompress (make-bytevector (+ (random 100000)
- (* 20 1024)))))
-
-(test-assert* "random bytevector"
- (compress-and-decompress (random-bytevector (+ (random 100000)
- (* 20 1024)))))
-(test-assert* "small bytevector"
- (compress-and-decompress (random-bytevector 127)))
-
-(test-assert* "1 bytevector"
- (compress-and-decompress (random-bytevector 1)))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (2 * dictionary)"
- (compress-and-decompress
- (random-bytevector
- (* 2 (dictionary-size+match-length-limit %default-compression-level)))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (64KiB)"
- (compress-and-decompress (random-bytevector (* 64 1024))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (64KiB-1)"
- (compress-and-decompress (random-bytevector (1- (* 64 1024)))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (64KiB+1)"
- (compress-and-decompress (random-bytevector (1+ (* 64 1024)))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (1MiB)"
- (compress-and-decompress (random-bytevector (* 1024 1024))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (1MiB-1)"
- (compress-and-decompress (random-bytevector (1- (* 1024 1024)))))
-
-(test-assert* "Bytevector of size relative to Lzip internal buffers (1MiB+1)"
- (compress-and-decompress (random-bytevector (1+ (* 1024 1024)))))
-
-(test-assert* "make-lzip-input-port/compressed"
- (let* ((len (pk 'len (+ 10 (random 4000 %seed))))
- (data (random-bytevector len))
- (compressed (make-lzip-input-port/compressed
- (open-bytevector-input-port data)))
- (result (call-with-lzip-input-port compressed
- get-bytevector-all)))
- (pk (bytevector-length result) (bytevector-length data))
- (bytevector=? result data)))
-
-(test-end)