File: test.tst

package info (click to toggle)
clisp 1%3A2.41-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 49,804 kB
  • ctags: 16,291
  • sloc: lisp: 75,912; ansic: 49,247; xml: 24,289; asm: 21,993; sh: 11,234; fortran: 6,692; cpp: 2,660; objc: 2,481; makefile: 2,355; perl: 164; sed: 55
file content (33 lines) | stat: -rw-r--r-- 1,074 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
;; -*- Lisp -*-
;; some tests for ZLIB
;; clisp -K full -E 1:1 -q -norc -i ../tests/tests -x '(run-test "zlib/test")'

(format t "~&zlib version: ~S~%" (zlib:z-version))
NIL

(let ((v (make-array 1024 :element-type '(unsigned-byte 8))) c)
  (dotimes (i 1024) (setf (aref v i) 0))
  (show (zlib:compress-bound 1024))
  (ext:times (setq c (zlib:compress v)))
  (show (length c))
  (equalp v (zlib:uncompress c 1024)))
T

(let ((v (make-array 1024 :element-type '(unsigned-byte 8))) c
      (cb (zlib:compress-bound 1024)))
  (dotimes (i 1024) (setf (aref v i) (random 256)))
  (show cb)
  (ext:times (setq c (zlib:compress v)))
  (show (length c))
  (unless (= cb (length c)) (warn "zlib compresses random vectors!"))
  (equalp v (zlib:uncompress c 1050)))
T

(let ((v (make-array 1024 :element-type '(unsigned-byte 8))))
  (dotimes (i 1024) (setf (aref v i) (ash i -5)))
  (show (zlib:compress-bound 1024))
  (loop :for level :from 0 :to 9
    :for c = (zlib:compress v :level level)
    :do (show (list level (length c)))
    :always (equalp v (zlib:uncompress c 1024))))
T