Do you mean something like this: 

(define time-limit .1)

(define-syntax-rule
  (check-termination e)
  (check-false (false? (sync/timeout time-limit (thread (λ () (list e)))))))

(check-termination (+ 1 1))
(check-termination #f)
(check-termination (let loop () (loop)))


— Matthias


> On Aug 18, 2016, at 5:59 PM, Mitchell Wand <[email protected]> wrote:
> 
> Of course you can't test for non-termination, but is there a relatively 
> simple way to write something like
> 
> (check-doesnt-terminate-quickly <thunk> <maybe some time limit>)
> 
> which would fail if the thunk terminates within the time limit, and succeeds 
> otherwise?  
> 
> This would be useful in testing expressions that are claimed not to terminate.
> 
> For this use case, it doesn't matter if the time limit is only approximate.
> 
> --Mitch
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to