chicken-rabbit/tests/run.scm
2016-01-20 15:01:13 -08:00

32 lines
901 B
Scheme

(use rabbit srfi-4 test)
(randomize)
(define (random-blob n)
(let ((v (make-u8vector n)))
(let loop ((n n))
(if (> n 0)
(begin
(u8vector-set! v (- n 1) (random 255))
(loop (- n 1)))
(u8vector->blob v)))
))
(test-group "rabbit 1000 random vectors"
(let loop ((n 1000))
(test-assert
(if (= n 0) #t
(if (let* (
(keylen (+ (random 10) 24))
(key (random-blob keylen))
(datalen (random 100000))
(data (random-blob datalen))
(ctx (rabbit-make key))
)
(let ((res (not (equal? data (rabbit-decode! ctx (rabbit-encode! ctx data))))))
(rabbit-destroy! ctx)
res))
#f
(loop (- n 1)))))))
;; eof