diff --git a/collects/meta/props b/collects/meta/props index f334b3cf68..87eab7ce31 100755 --- a/collects/meta/props +++ b/collects/meta/props @@ -1477,6 +1477,7 @@ path/s is either such a string or a list of them. "collects/tests/plai/gc/bad-mutators/mutator3.rkt" drdr:command-line #f "collects/tests/plai/gc/bad-mutators/mutator5.rkt" drdr:command-line #f "collects/tests/plai/gc/bad-mutators/void-app.rkt" drdr:command-line #f +"collects/tests/plai/gc/run-test.rkt" drdr:command-line (racket "-qt" * "--" "-g") "collects/tests/plai/test-random-mutator.rkt" responsible (jay robby) "collects/tests/plai/web.rkt" drdr:command-line (mzc "-k" *) "collects/tests/planet" responsible (robby jay) diff --git a/collects/plai/mutator.rkt b/collects/plai/mutator.rkt index 0cf24939f7..6616542593 100644 --- a/collects/plai/mutator.rkt +++ b/collects/plai/mutator.rkt @@ -6,16 +6,18 @@ plai/private/gc-core scheme/gui/dynamic (only-in plai/test-harness - generic-test test halt-on-errors print-only-errors) + plai-error generic-test test halt-on-errors print-only-errors) (for-syntax scheme) (for-syntax plai/private/gc-transformer) scheme/stxparam (for-syntax scheme/stxparam-exptime)) -(provide else require provide +(provide else require provide #%top test/location=? test/value=? (rename-out + [plai-error error] + [mutator-and and] [mutator-or or] [mutator-cond cond] diff --git a/collects/tests/plai/gc/other-mutators/error.rkt b/collects/tests/plai/gc/other-mutators/error.rkt new file mode 100644 index 0000000000..d8ce42e61b --- /dev/null +++ b/collects/tests/plai/gc/other-mutators/error.rkt @@ -0,0 +1,3 @@ +#lang plai/mutator +(allocator-setup "../good-collectors/good-collector.ss" 400) +(error 'error "plai/mutator has error") \ No newline at end of file diff --git a/collects/tests/plai/gc/other-mutators/top.rkt b/collects/tests/plai/gc/other-mutators/top.rkt new file mode 100644 index 0000000000..5f87d5419c --- /dev/null +++ b/collects/tests/plai/gc/other-mutators/top.rkt @@ -0,0 +1,3 @@ +#lang plai/mutator +(allocator-setup "../good-collectors/good-collector.ss" 400) +frozzle \ No newline at end of file diff --git a/collects/tests/plai/gc/run-test.rkt b/collects/tests/plai/gc/run-test.rkt index 28cfb602ce..06c806ddd9 100644 --- a/collects/tests/plai/gc/run-test.rkt +++ b/collects/tests/plai/gc/run-test.rkt @@ -11,6 +11,7 @@ (directory-list pth))))) (define (test-mutator m) + (printf "Running ~a\n" m) (parameterize ([current-namespace (make-base-empty-namespace)]) (dynamic-require m #f))) @@ -21,10 +22,19 @@ (test (if (run-good?) - (for ([m (in-directory (build-path here "good-mutators") #rx"ss$")]) + (for ([m (in-directory (build-path here "good-mutators") #rx"rkt$")]) (test (test-mutator m))) (void)) - (for ([m (in-directory (build-path here "bad-mutators") #rx"ss$")]) + (for ([m (in-directory (build-path here "bad-mutators") #rx"rkt$")]) (test - (test-mutator m) =error> #rx""))) \ No newline at end of file + (test-mutator m) =error> #rx"")) + + (test-mutator (build-path here "other-mutators" "error.rkt")) + =error> + #rx"plai/mutator has error" + + (test-mutator (build-path here "other-mutators" "top.rkt")) + =error> + #rx"unbound identifier in module in: frozzle" + ) \ No newline at end of file