(define (enumerate-test-values)
(append (iota (+ %low-limit 8))
- (iota 8 (- char-code-limit 8))))
+ (if keep-it-fast!?
+ '()
+ (iota 8 (- char-code-limit 8)))))
(define (svl-member? svl value)
(let loop ((svl svl))
(define interesting-svls
(cons (list)
- (append! (1-generator interesting-points)
- (2-generator interesting-points)
- (3-generator interesting-points))))
\ No newline at end of file
+ (if keep-it-fast!?
+ (1-generator interesting-points)
+ (append! (1-generator interesting-points)
+ (2-generator interesting-points)
+ (3-generator interesting-points)))))
\ No newline at end of file
;;;; Correctness Tests
(define (check implementation)
- (let ((n #x1000))
- (do ((i 0 (+ i 1))) ((= i #x100))
+ (let ((n (if keep-it-fast? #x100 #x1000)))
+ (do ((i 0 (+ i 1))) ((= i (if keep-it-fast? #x10 #x100)))
(let* ((key-radix (+ 1 (random-integer n)))
(insert-fraction (random-real))
(delete-fraction (- 1 insert-fraction)))
condition ;ignore
(k #f))
thunk)
- properties))))
\ No newline at end of file
+ properties))))
+
+(define-for-tests keep-it-fast!?
+ (let ((v (get-environment-variable "FAST")))
+ (if (or (eq? v #f) (string-null? v))
+ (begin
+ (warn "To avoid long run times, export FAST=y.")
+ #f)
+ #t)))
\ No newline at end of file