-
-
Notifications
You must be signed in to change notification settings - Fork 70
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Skip check-satisfied
in stepper
#239
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. (Even though I don't rememember changing this particular piece of code.)
@mikesperber Yes, I think the code is never modified. I suppose these behavior changes are the unintended consequences of a combination of test engine changes and stepper changes elsewhere. For this test case: (check-expect 1 (+ 1 1))
(check-satisfied (* 2 2) even?)
(check-expect 3 (+ 1 2)) The stepper ignored (let ((with-handlers-predicate1
exn:fail:contract:arity?)
(with-handlers-handler2
(lambda (exn)
(let ((msg (exn-message exn)))
(let ((msg1
(regexp-match
(pregexp
"(.*): arity mismatch")
msg)))
(cond
(msg1
(let ((raised-name (cadr msg1)))
(if (equal?
"even?"
raised-name)
(error-check
(lambda (v) #false)
"even?"
SATISFIED-FMT
#true)
(raise exn))))))))))
(let ((bpz
(continuation-mark-set-first
#false
break-enabled-key)))
(call-handled-body
bpz
(lambda (e)
(select-handler/no-breaks
e
bpz
(list
(cons
with-handlers-predicate1
with-handlers-handler2))))
(lambda () (even? 4))))) For the other two cases (e.g.
|
If I tested it correctly, the stepper from Racket v7 previously skips
check-satisfied
and the current bugs in it are unintentional. At some point, the stepper from Racket v8 no longer ignorescheck-satisfied
and begins to step through all thewith-handlers
internal code or even breaks for non-identifier predicates.This PR works around #232 and restores the previous behavior for
check-satisfied
by completely ignoring them. Proper support ofcheck-satisfied
is needed in the future.