test case illustrating set! problem

(derived from drdr failure for
 scribblings/guide/contracts-examples/1-test.rkt)
This commit is contained in:
Robby Findler 2013-12-13 11:49:25 -06:00
parent 1f1550ae55
commit 45b4bd5667

View File

@ -938,6 +938,26 @@
(eval '(require 'provide/contract48-m1)))
"provide/contract48-m1")
(test/spec-passed/result
'provide/contract49
'(let ()
(eval '(module provide/contract49-m1 racket/base
(require racket/contract/base)
(define count 0)
(define (add) (set! count (+ count 1)))
(provide
add
(contract-out
[count natural-number/c]))))
(eval '(module provide/contract49-m2 racket/base
(require 'provide/contract49-m1)
(add)
(define (provide/contract49-x) count)
(provide provide/contract49-x)))
(eval '(require 'provide/contract49-m2))
(eval '(provide/contract49-x)))
1)
(contract-error-test
'contract-error-test8
#'(begin
@ -1294,6 +1314,5 @@
(eval '(require 'define-module-boundary-contract4-n)))
(λ (x)
(and (exn:fail:contract:blame? x)
(printf "~a\n" (exn-message x))
(regexp-match? #rx"^external-name: " (exn-message x)))))
)