chicken-rabbit/tests/run.scm

23 lines
846 B
Scheme

(import
(scheme base)
(chicken base)
(chicken random)
(chicken bytevector)
(rabbit)
(test))
(test-group "rabbit 1000 random vectors"
(let loop ((n 1000))
(test-assert
(if (= n 0)
#t
(if (let* ((keylen (+ (pseudo-random-integer 10) 24))
(key (random-bytes (make-bytevector keylen)))
(datalen (pseudo-random-integer 100000))
(data (random-bytes (make-bytevector datalen)))
(ctx (make-context key)))
(let ((res (not (equal? data (decode! ctx (encode! ctx data))))))
(destroy-context! ctx)
res))
#f
(loop (- n 1)))))))