23 lines
846 B
Scheme
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)))))))
|