diff --git a/collects/tests/mzscheme/contmark.ss b/collects/tests/mzscheme/contmark.ss index 1dd048f3a6..3d9ce7626a 100644 --- a/collects/tests/mzscheme/contmark.ss +++ b/collects/tests/mzscheme/contmark.ss @@ -183,6 +183,23 @@ (continuation-marks k) 'x)))) +;; nested full continuation, mark shared +(wcm-test '(12 11 10) + (lambda () + (let ([k (with-continuation-mark 'x 10 + (begin0 + (with-continuation-mark 'x 11 + (let/cc k0 + (begin0 + (with-continuation-mark 'x 12 + (let/cc k + k)) + (cons 4 5)))) + (cons 2 3)))]) + (continuation-mark-set->list + (continuation-marks k) + 'x)))) + ;; escape continuation, same thread (wcm-test '(11 10) (lambda () diff --git a/collects/tests/mzscheme/optimize.ss b/collects/tests/mzscheme/optimize.ss index fdbf043f9a..22c07611f4 100644 --- a/collects/tests/mzscheme/optimize.ss +++ b/collects/tests/mzscheme/optimize.ss @@ -8,7 +8,8 @@ [eval-jit-enabled #t]) (namespace-require 'mzscheme) (let* ([check-error-message (lambda (name proc) - (unless (memq name '(eq? not null? pair?)) + (unless (memq name '(eq? not null? pair? + real? number? boolean?)) (let ([s (with-handlers ([exn? exn-message]) (proc 'bad))] [name (symbol->string name)]) @@ -59,6 +60,9 @@ (un #f 'null? 0) (un #f 'pair? 0) + (un #f 'boolean? 0) + (un #t 'boolean? #t) + (un #t 'boolean? #f) (bin #f 'eq? 0 10) @@ -74,6 +78,18 @@ (un #f 'negative? 1) (un #t 'negative? -1) + (un #t 'real? 1) + (un #t 'real? (expt 2 100)) + (un #t 'real? 1.0) + (un #f 'real? 1+2i) + (un #f 'real? 'apple) + + (un #t 'number? 1) + (un #t 'number? (expt 2 100)) + (un #t 'number? 1.0) + (un #t 'number? 1+2i) + (un #f 'number? 'apple) + (un #t 'not #f) (un #f 'not #t) (un #f 'not 10) diff --git a/collects/tests/mzscheme/stx.ss b/collects/tests/mzscheme/stx.ss index 1ca2c78c3c..198a5a6738 100644 --- a/collects/tests/mzscheme/stx.ss +++ b/collects/tests/mzscheme/stx.ss @@ -742,7 +742,8 @@ (module ++m mzscheme (define ++x 10) - (provide (protect ++x))) + (define-syntax (++xm stx) #'100) + (provide (protect ++x ++xm))) (module ++n mzscheme (require ++m) (define ++y ++x) @@ -762,6 +763,7 @@ (require ++m) (test 10 values ++x) +(test 100 values ++xm) (test 10 values ++y-macro2) (let () @@ -783,9 +785,11 @@ (err/rt-test (teval '++y-macro2) exn:fail:contract:variable?) (err/rt-test (teval '++x) exn:fail:contract:variable?) + (err/rt-test (teval '++xm) exn:fail:contract:variable?) (teval '(require ++m)) (err/rt-test (teval '++x) exn:fail:syntax?) + (err/rt-test (teval '++xm) exn:fail:syntax?) (err/rt-test (teval '++y-macro2) exn:fail:syntax?) (teval '(module zrt mzscheme