cleaned up test suite and added a test case
svn: r6026
This commit is contained in:
parent
a5550a69da
commit
34568d5702
|
@ -3,6 +3,7 @@
|
||||||
(require "drscheme-test-util.ss"
|
(require "drscheme-test-util.ss"
|
||||||
(lib "class.ss")
|
(lib "class.ss")
|
||||||
(lib "file.ss")
|
(lib "file.ss")
|
||||||
|
(lib "string.ss")
|
||||||
(lib "mred.ss" "mred")
|
(lib "mred.ss" "mred")
|
||||||
(lib "framework.ss" "framework"))
|
(lib "framework.ss" "framework"))
|
||||||
|
|
||||||
|
@ -46,8 +47,15 @@
|
||||||
(define (to-strings . args)
|
(define (to-strings . args)
|
||||||
(apply string-append (map (λ (x) (format "~s\n" x)) args)))
|
(apply string-append (map (λ (x) (format "~s\n" x)) args)))
|
||||||
|
|
||||||
|
(define (add-load-handler-context str)
|
||||||
|
(regexp
|
||||||
|
(string-append (regexp-quote "{bug09.png} {file.gif} ../../mred/private/snipfile.ss:")
|
||||||
|
"[0-9]+:[0-9]+: "
|
||||||
|
(regexp-quote str))))
|
||||||
|
|
||||||
(define test-data
|
(define test-data
|
||||||
(list
|
(list
|
||||||
|
|
||||||
;; basic tests
|
;; basic tests
|
||||||
(make-test "1"
|
(make-test "1"
|
||||||
"1"
|
"1"
|
||||||
|
@ -90,20 +98,20 @@
|
||||||
void)
|
void)
|
||||||
|
|
||||||
(make-test "("
|
(make-test "("
|
||||||
"{bug09.gif} read: expected a `)'"
|
"{bug09.png} read: expected a `)'"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: read: expected a `)'"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: read: expected a `)'"
|
||||||
"read: expected a `)'"
|
"read: expected a `)'"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: read: expected a `)'"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: read: expected a `)'"
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 1 1))
|
(cons (make-loc 0 0 0) (make-loc 0 1 1))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
|
|
||||||
(make-test "."
|
(make-test "."
|
||||||
"{bug09.gif} read: illegal use of \".\""
|
"{bug09.png} read: illegal use of \".\""
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: read: illegal use of \".\""
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: read: illegal use of \".\""
|
||||||
"read: illegal use of \".\""
|
"read: illegal use of \".\""
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: read: illegal use of \".\""
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: read: illegal use of \".\""
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 1 1))
|
(cons (make-loc 0 0 0) (make-loc 0 1 1))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -111,9 +119,9 @@
|
||||||
|
|
||||||
(make-test "(lambda ())"
|
(make-test "(lambda ())"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"lambda: bad syntax in: (lambda ())"
|
||||||
"{file.gif} repl-test-tmp.ss:1:0: lambda: bad syntax in: (lambda ())"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: lambda: bad syntax in: (lambda ())"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"lambda: bad syntax in: (lambda ())"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: lambda: bad syntax in: (lambda ())"
|
"{file.gif} repl-test-tmp.ss:1:0: lambda: bad syntax in: (lambda ())"
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 11 11))
|
(cons (make-loc 0 0 0) (make-loc 0 11 11))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -122,9 +130,9 @@
|
||||||
;; make sure only a single syntax error occurs when in nested begin situation
|
;; make sure only a single syntax error occurs when in nested begin situation
|
||||||
(make-test "(begin (lambda ()) (lambda ()))"
|
(make-test "(begin (lambda ()) (lambda ()))"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"lambda: bad syntax in: (lambda ())"
|
||||||
"{file.gif} repl-test-tmp.ss:1:7: lambda: bad syntax in: (lambda ())"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:7: lambda: bad syntax in: (lambda ())"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"lambda: bad syntax in: (lambda ())"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:7: lambda: bad syntax in: (lambda ())"
|
"{file.gif} repl-test-tmp.ss:1:7: lambda: bad syntax in: (lambda ())"
|
||||||
(cons (make-loc 0 7 7) (make-loc 0 18 18))
|
(cons (make-loc 0 7 7) (make-loc 0 18 18))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -132,9 +140,9 @@
|
||||||
|
|
||||||
(make-test "xx"
|
(make-test "xx"
|
||||||
"reference to undefined identifier: xx"
|
"reference to undefined identifier: xx"
|
||||||
"reference to undefined identifier: xx"
|
(add-load-handler-context "reference to undefined identifier: xx")
|
||||||
"{bug09.gif} reference to undefined identifier: xx"
|
"{bug09.png} reference to undefined identifier: xx"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::1: reference to undefined identifier: xx"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::1: reference to undefined identifier: xx"
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 2 2))
|
(cons (make-loc 0 0 0) (make-loc 0 2 2))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -220,9 +228,9 @@
|
||||||
|
|
||||||
(make-test "(begin xx (printf \"hi\\n\"))"
|
(make-test "(begin xx (printf \"hi\\n\"))"
|
||||||
"reference to undefined identifier: xx"
|
"reference to undefined identifier: xx"
|
||||||
"reference to undefined identifier: xx"
|
(add-load-handler-context "reference to undefined identifier: xx")
|
||||||
"{bug09.gif} reference to undefined identifier: xx"
|
"{bug09.png} reference to undefined identifier: xx"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::1: reference to undefined identifier: xx"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::8: reference to undefined identifier: xx"
|
||||||
(cons (make-loc 0 7 7) (make-loc 0 9 9))
|
(cons (make-loc 0 7 7) (make-loc 0 9 9))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -234,9 +242,9 @@
|
||||||
"(require n)\n"
|
"(require n)\n"
|
||||||
"s")
|
"s")
|
||||||
"compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
"compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
||||||
"{file.gif} repl-test-tmp.ss:1:43: compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:43: compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
||||||
"compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
"compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:43: compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
"{file.gif} repl-test-tmp.ss:1:43: compile: bad syntax; literal data is not allowed, because no #%datum syntax transformer is bound in: 1"
|
||||||
(cons (make-loc 0 43 43) (make-loc 0 44 44))
|
(cons (make-loc 0 43 43) (make-loc 0 44 44))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -256,9 +264,9 @@
|
||||||
|
|
||||||
(make-test "#!/bin/sh\nxx"
|
(make-test "#!/bin/sh\nxx"
|
||||||
"reference to undefined identifier: xx"
|
"reference to undefined identifier: xx"
|
||||||
"reference to undefined identifier: xx"
|
(add-load-handler-context "reference to undefined identifier: xx")
|
||||||
"{bug09.gif} reference to undefined identifier: xx"
|
"{bug09.png} reference to undefined identifier: xx"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::11: reference to undefined identifier: xx"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::11: reference to undefined identifier: xx"
|
||||||
(cons (make-loc 1 0 10) (make-loc 1 2 12))
|
(cons (make-loc 1 0 10) (make-loc 1 2 12))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -288,18 +296,18 @@
|
||||||
|
|
||||||
(make-test " (eval '(lambda ()))"
|
(make-test " (eval '(lambda ()))"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"lambda: bad syntax in: (lambda ())"
|
||||||
"lambda: bad syntax in: (lambda ())"
|
"{bug09.png} lambda: bad syntax in: (lambda ())"
|
||||||
"{bug09.gif} lambda: bad syntax in: (lambda ())"
|
"{bug09.png} lambda: bad syntax in: (lambda ())"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::5: lambda: bad syntax in: (lambda ())"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::5: lambda: bad syntax in: (lambda ())"
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 23 23))
|
(cons (make-loc 0 4 4) (make-loc 0 23 23))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
(make-test " (eval 'x)"
|
(make-test " (eval 'x)"
|
||||||
"reference to undefined identifier: x"
|
"reference to undefined identifier: x"
|
||||||
"reference to undefined identifier: x"
|
(add-load-handler-context "reference to undefined identifier: x")
|
||||||
"{bug09.gif} reference to undefined identifier: x"
|
"{bug09.png} reference to undefined identifier: x"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::5: reference to undefined identifier: x"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::5: reference to undefined identifier: x"
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 13 13))
|
(cons (make-loc 0 4 4) (make-loc 0 13 13))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -324,12 +332,13 @@
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
|
|
||||||
; printer setup test
|
; printer setup test
|
||||||
(make-test "(car (void))"
|
(make-test "(car (void))"
|
||||||
"car: expects argument of type <pair>; given #<void>"
|
"car: expects argument of type <pair>; given #<void>"
|
||||||
"car: expects argument of type <pair>; given #<void>"
|
(add-load-handler-context "car: expects argument of type <pair>; given #<void>")
|
||||||
"{bug09.gif} car: expects argument of type <pair>; given #<void>"
|
"{bug09.png} car: expects argument of type <pair>; given #<void>"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::1: car: expects argument of type <pair>; given #<void>"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::1: car: expects argument of type <pair>; given #<void>"
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 12 12))
|
(cons (make-loc 0 0 0) (make-loc 0 12 12))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -337,37 +346,37 @@
|
||||||
|
|
||||||
;; error in the middle
|
;; error in the middle
|
||||||
(make-test "1 2 ( 3 4"
|
(make-test "1 2 ( 3 4"
|
||||||
"1\n2\n{bug09.gif} read: expected a `)'"
|
"1\n2\n{bug09.png} read: expected a `)'"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:4: read: expected a `)'"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:4: read: expected a `)'"
|
||||||
"1\n2\nread: expected a `)'"
|
"1\n2\nread: expected a `)'"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:4: read: expected a `)'"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:4: read: expected a `)'"
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 9 9))
|
(cons (make-loc 0 4 4) (make-loc 0 9 9))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
(make-test "1 2 . 3 4"
|
(make-test "1 2 . 3 4"
|
||||||
"1\n2\n{bug09.gif} read: illegal use of \".\""
|
"1\n2\n{bug09.png} read: illegal use of \".\""
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:4: read: illegal use of \".\""
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:4: read: illegal use of \".\""
|
||||||
"1\n2\nread: illegal use of \".\""
|
"1\n2\nread: illegal use of \".\""
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:4: read: illegal use of \".\""
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:4: read: illegal use of \".\""
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 5 5))
|
(cons (make-loc 0 4 4) (make-loc 0 5 5))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
(make-test "1 2 (lambda ()) 3 4"
|
(make-test "1 2 (lambda ()) 3 4"
|
||||||
"1\n2\nlambda: bad syntax in: (lambda ())"
|
"1\n2\nlambda: bad syntax in: (lambda ())"
|
||||||
"{file.gif} repl-test-tmp.ss:1:4: lambda: bad syntax in: (lambda ())"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:4: lambda: bad syntax in: (lambda ())"
|
||||||
"1\n2\nlambda: bad syntax in: (lambda ())"
|
"1\n2\nlambda: bad syntax in: (lambda ())"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:4: lambda: bad syntax in: (lambda ())"
|
"{file.gif} repl-test-tmp.ss:1:4: lambda: bad syntax in: (lambda ())"
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 15 15))
|
(cons (make-loc 0 4 4) (make-loc 0 15 15))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
(make-test "1 2 x 3 4"
|
(make-test "1 2 x 3 4"
|
||||||
"1\n2\nreference to undefined identifier: x"
|
"1\n2\nreference to undefined identifier: x"
|
||||||
"reference to undefined identifier: x"
|
(add-load-handler-context "reference to undefined identifier: x")
|
||||||
"1\n2\n{bug09.gif} reference to undefined identifier: x"
|
"1\n2\n{bug09.png} reference to undefined identifier: x"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::5: reference to undefined identifier: x"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::5: reference to undefined identifier: x"
|
||||||
(cons (make-loc 0 4 4) (make-loc 0 5 5))
|
(cons (make-loc 0 4 4) (make-loc 0 5 5))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -394,10 +403,10 @@
|
||||||
;; error across separate files
|
;; error across separate files
|
||||||
(make-test
|
(make-test
|
||||||
"(load \"repl-test-tmp2.ss\") (define (g) (+ 1 (car 1))) (f g)"
|
"(load \"repl-test-tmp2.ss\") (define (g) (+ 1 (car 1))) (f g)"
|
||||||
"{bug09.gif} car: expects argument of type <pair>; given 1"
|
"{bug09.png} car: expects argument of type <pair>; given 1"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:27: car: expects argument of type <pair>; given 1"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:27: car: expects argument of type <pair>; given 1"
|
||||||
"{bug09.gif} car: expects argument of type <pair>; given 1"
|
"{bug09.png} car: expects argument of type <pair>; given 1"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::45: car: expects argument of type <pair>; given 1"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::45: car: expects argument of type <pair>; given 1"
|
||||||
(cons (make-loc -1 -1 44)
|
(cons (make-loc -1 -1 44)
|
||||||
(make-loc -1 -1 51))
|
(make-loc -1 -1 51))
|
||||||
#f
|
#f
|
||||||
|
@ -412,19 +421,19 @@
|
||||||
;; new namespace test
|
;; new namespace test
|
||||||
(make-test "(current-namespace (make-namespace))\nif"
|
(make-test "(current-namespace (make-namespace))\nif"
|
||||||
"if: bad syntax in: if"
|
"if: bad syntax in: if"
|
||||||
"{file.gif} repl-test-tmp.ss:2:0: if: bad syntax in: if"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:2:0: if: bad syntax in: if"
|
||||||
"if: bad syntax in: if"
|
"if: bad syntax in: if"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:2:0: if: bad syntax in: if"
|
"{file.gif} repl-test-tmp.ss:2:0: if: bad syntax in: if"
|
||||||
(cons (make-loc 1 0 37) (make-loc 1 2 39))
|
(cons (make-loc 1 0 37) (make-loc 1 2 39))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
|
|
||||||
(make-test "(current-namespace (make-namespace 'empty))\nif"
|
(make-test "(current-namespace (make-namespace 'empty))\nif"
|
||||||
"compile: bad syntax; reference to top-level identifier is not allowed, because no #%top syntax transformer is bound in: if"
|
"application: bad syntax in: (#%top-interaction . if)"
|
||||||
"{file.gif} repl-test-tmp.ss:2:0: compile: bad syntax; reference to top-level identifier is not allowed, because no #%top syntax transformer is bound in: if"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:2:0: compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (#%top-interaction . if)"
|
||||||
"compile: bad syntax; reference to top-level identifier is not allowed, because no #%top syntax transformer is bound in: if"
|
"application: bad syntax (illegal use of `.') in: (#%top-interaction . if)"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:2:0: compile: bad syntax; reference to top-level identifier is not allowed, because no #%top syntax transformer is bound in: if"
|
"{file.gif} repl-test-tmp.ss:2:0: compile: bad syntax; function application is not allowed, because no #%app syntax transformer is bound in: (#%top-interaction . if)"
|
||||||
(cons (make-loc 1 0 44) (make-loc 1 0 46))
|
(cons (make-loc 1 0 44) (make-loc 1 0 46))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -445,9 +454,9 @@
|
||||||
(make-test
|
(make-test
|
||||||
"(let ([old (error-escape-handler)])\n(+ (let/ec k\n(dynamic-wind\n(lambda () (error-escape-handler (lambda () (k 5))))\n(lambda () (car))\n(lambda () (error-escape-handler old))))\n10))"
|
"(let ([old (error-escape-handler)])\n(+ (let/ec k\n(dynamic-wind\n(lambda () (error-escape-handler (lambda () (k 5))))\n(lambda () (car))\n(lambda () (error-escape-handler old))))\n10))"
|
||||||
"car: expects 1 argument, given 0\n15"
|
"car: expects 1 argument, given 0\n15"
|
||||||
"car: expects 1 argument, given 0\n15"
|
(add-load-handler-context "car: expects 1 argument, given 0\n15")
|
||||||
"{bug09.gif} car: expects 1 argument, given 0\n15"
|
"{bug09.png} car: expects 1 argument, given 0\n15"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::153: car: expects 1 argument, given 0\n15"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::153: car: expects 1 argument, given 0\n15"
|
||||||
'definitions
|
'definitions
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -524,9 +533,9 @@
|
||||||
;; comes and messes up the source location for the error.
|
;; comes and messes up the source location for the error.
|
||||||
"(define s (make-semaphore 0))\n(queue-callback\n(lambda ()\n(dynamic-wind\nvoid\n(lambda () (car))\n(lambda () (semaphore-post s)))))\n(begin (yield s) (void))"
|
"(define s (make-semaphore 0))\n(queue-callback\n(lambda ()\n(dynamic-wind\nvoid\n(lambda () (car))\n(lambda () (semaphore-post s)))))\n(begin (yield s) (void))"
|
||||||
"car: expects 1 argument, given 0"
|
"car: expects 1 argument, given 0"
|
||||||
"car: expects 1 argument, given 0"
|
(add-load-handler-context "car: expects 1 argument, given 0")
|
||||||
"{bug09.gif} car: expects 1 argument, given 0"
|
"{bug09.png} car: expects 1 argument, given 0"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::100: car: expects 1 argument, given 0"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::100: car: expects 1 argument, given 0"
|
||||||
(cons (make-loc 0 99 99) (make-loc 0 104 104))
|
(cons (make-loc 0 99 99) (make-loc 0 104 104))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -585,9 +594,9 @@
|
||||||
|
|
||||||
(make-test "(define x 1)\n((λ (x y) y) (set! x (call/cc (lambda (x) x)))\n(x 3))"
|
(make-test "(define x 1)\n((λ (x y) y) (set! x (call/cc (lambda (x) x)))\n(x 3))"
|
||||||
"procedure application: expected procedure, given: 3; arguments were: 3"
|
"procedure application: expected procedure, given: 3; arguments were: 3"
|
||||||
"procedure application: expected procedure, given: 3; arguments were: 3"
|
(add-load-handler-context "procedure application: expected procedure, given: 3; arguments were: 3")
|
||||||
"{bug09.gif} procedure application: expected procedure, given: 3; arguments were: 3"
|
"{bug09.png} procedure application: expected procedure, given: 3; arguments were: 3"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::74: procedure application: expected procedure, given: 3; arguments were: 3"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::74: procedure application: expected procedure, given: 3; arguments were: 3"
|
||||||
(cons (make-loc 3 19 73) (make-loc 3 24 78))
|
(cons (make-loc 3 19 73) (make-loc 3 24 78))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -604,6 +613,24 @@
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
|
|
||||||
|
(make-test (format "~s"
|
||||||
|
'(call-with-continuation-prompt
|
||||||
|
(lambda ()
|
||||||
|
(eval '(begin (abort-current-continuation
|
||||||
|
(default-continuation-prompt-tag)
|
||||||
|
1 2 3)
|
||||||
|
10)))
|
||||||
|
(default-continuation-prompt-tag)
|
||||||
|
list))
|
||||||
|
"(1 2 3)"
|
||||||
|
"(1 2 3)"
|
||||||
|
"(1 2 3)"
|
||||||
|
"(1 2 3)"
|
||||||
|
'interactions
|
||||||
|
#f
|
||||||
|
void
|
||||||
|
void)
|
||||||
|
|
||||||
;; graphical lambda tests
|
;; graphical lambda tests
|
||||||
(make-test (list "((" '("Special" "Insert λ") "(x) x) 1)")
|
(make-test (list "((" '("Special" "Insert λ") "(x) x) 1)")
|
||||||
"1"
|
"1"
|
||||||
|
@ -617,9 +644,9 @@
|
||||||
|
|
||||||
(make-test (list "(" '("Special" "Insert λ") "())")
|
(make-test (list "(" '("Special" "Insert λ") "())")
|
||||||
"λ: bad syntax in: (λ ())"
|
"λ: bad syntax in: (λ ())"
|
||||||
"{file.gif} repl-test-tmp.ss:1:0: λ: bad syntax in: (λ ())"
|
"{bug09.png} {file.gif} repl-test-tmp.ss:1:0: λ: bad syntax in: (λ ())"
|
||||||
"λ: bad syntax in: (λ ())"
|
"λ: bad syntax in: (λ ())"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss:1:0: λ: bad syntax in: (λ ())"
|
"{file.gif} repl-test-tmp.ss:1:0: λ: bad syntax in: (λ ())"
|
||||||
(cons (make-loc 0 0 0) (make-loc 0 5 5))
|
(cons (make-loc 0 0 0) (make-loc 0 5 5))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -629,8 +656,8 @@
|
||||||
(make-test "(begin (thread (lambda () x)) (sleep 1/10))"
|
(make-test "(begin (thread (lambda () x)) (sleep 1/10))"
|
||||||
"reference to undefined identifier: x"
|
"reference to undefined identifier: x"
|
||||||
"reference to undefined identifier: x"
|
"reference to undefined identifier: x"
|
||||||
"{bug09.gif} reference to undefined identifier: x"
|
"{bug09.png} reference to undefined identifier: x"
|
||||||
"{bug09.gif} {file.gif} repl-test-tmp.ss::27: reference to undefined identifier: x"
|
"{bug09.png} {file.gif} repl-test-tmp.ss::27: reference to undefined identifier: x"
|
||||||
(cons (make-loc 0 26 26) (make-loc 0 27 27))
|
(cons (make-loc 0 26 26) (make-loc 0 27 27))
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
|
@ -712,7 +739,6 @@
|
||||||
#f
|
#f
|
||||||
void
|
void
|
||||||
void)
|
void)
|
||||||
|
|
||||||
))
|
))
|
||||||
;; these tests aren't used at the moment.
|
;; these tests aren't used at the moment.
|
||||||
(define xml-tests
|
(define xml-tests
|
||||||
|
@ -784,7 +810,7 @@
|
||||||
void
|
void
|
||||||
void)))
|
void)))
|
||||||
|
|
||||||
(define backtrace-image-string "{bug09.gif}")
|
(define backtrace-image-string "{bug09.png}")
|
||||||
(define file-image-string "{file.gif}")
|
(define file-image-string "{file.gif}")
|
||||||
|
|
||||||
(define tmp-load-directory
|
(define tmp-load-directory
|
||||||
|
@ -1013,7 +1039,7 @@
|
||||||
(define (reset) (set! tests 0) (set! failures 0))
|
(define (reset) (set! tests 0) (set! failures 0))
|
||||||
(define (final-report)
|
(define (final-report)
|
||||||
(if (= 0 failures)
|
(if (= 0 failures)
|
||||||
(printf "tests finished: ALL ~a TESTS PASSED\n" tests)
|
(printf "tests finished: all ~a tests passed\n" tests)
|
||||||
(printf "tests finished: ~a failed out of ~a total\n" failures tests)))
|
(printf "tests finished: ~a failed out of ~a total\n" failures tests)))
|
||||||
|
|
||||||
(define (run-test-in-language-level raw?)
|
(define (run-test-in-language-level raw?)
|
||||||
|
@ -1090,7 +1116,7 @@
|
||||||
|
|
||||||
(let* ([end (- (get-int-pos) 1)]
|
(let* ([end (- (get-int-pos) 1)]
|
||||||
[output (fetch-output drscheme-frame start end)]
|
[output (fetch-output drscheme-frame start end)]
|
||||||
[expected "{bug09.gif} reference to undefined identifier: x"])
|
[expected "{bug09.png} reference to undefined identifier: x"])
|
||||||
(unless (equal? output expected)
|
(unless (equal? output expected)
|
||||||
(error 'callcc-test "expected ~s, got ~s" expected output)))))
|
(error 'callcc-test "expected ~s, got ~s" expected output)))))
|
||||||
|
|
||||||
|
@ -1115,7 +1141,8 @@
|
||||||
[output (fetch-output drscheme-frame start end)]
|
[output (fetch-output drscheme-frame start end)]
|
||||||
[expected "(+ 1 2)"])
|
[expected "(+ 1 2)"])
|
||||||
(unless (equal? output expected)
|
(unless (equal? output expected)
|
||||||
(error 'top-interaction-test "expected ~s, got ~s" expected output))))
|
(error 'top-interaction-test "expected.1 ~s, got ~s" expected output))
|
||||||
|
(next-test)))
|
||||||
|
|
||||||
(for-each test:keystroke (string->list "(+ 4 5)"))
|
(for-each test:keystroke (string->list "(+ 4 5)"))
|
||||||
(let ([start (+ 1 (send interactions-text last-position))])
|
(let ([start (+ 1 (send interactions-text last-position))])
|
||||||
|
@ -1125,36 +1152,15 @@
|
||||||
[output (fetch-output drscheme-frame start end)]
|
[output (fetch-output drscheme-frame start end)]
|
||||||
[expected "(+ 4 5)"])
|
[expected "(+ 4 5)"])
|
||||||
(unless (equal? output expected)
|
(unless (equal? output expected)
|
||||||
(error 'top-interaction-test "expected ~s, got ~s" expected output))))
|
(error 'top-interaction-test "expected.2 ~s, got ~s" expected output))
|
||||||
|
(next-test)))))
|
||||||
(do-execute drscheme-frame)
|
|
||||||
(wait-for-execute)
|
|
||||||
(let ([start (+ 1 (send interactions-text last-position))])
|
|
||||||
(type-in-definitions drscheme-frame "(define-syntax #%top-interaction (syntax-rules () [(_ . e) 'e]))\n(+ 1 2)\n")
|
|
||||||
(do-execute drscheme-frame)
|
|
||||||
(wait-for-execute)
|
|
||||||
(let* ([end (- (get-int-pos) 1)]
|
|
||||||
[output (fetch-output drscheme-frame ints-just-after-welcome end)]
|
|
||||||
[expected "(+ 4 5)"])
|
|
||||||
(unless (equal? output expected)
|
|
||||||
(error 'top-interaction-test "expected ~s, got ~s" expected output))))
|
|
||||||
|
|
||||||
(for-each test:keystroke (string->list "(+ 4 5)"))
|
|
||||||
(let ([start (+ 1 (send interactions-text last-position))])
|
|
||||||
(test:keystroke #\return)
|
|
||||||
(wait-for-execute)
|
|
||||||
(let* ([end (- (get-int-pos) 1)]
|
|
||||||
[output (fetch-output drscheme-frame start end)]
|
|
||||||
[expected "(+ 4 5)"])
|
|
||||||
(unless (equal? output expected)
|
|
||||||
(error 'top-interaction-test "expected ~s, got ~s" expected output))))))
|
|
||||||
|
|
||||||
(when (file-exists? tmp-load-filename)
|
(when (file-exists? tmp-load-filename)
|
||||||
(delete-file tmp-load-filename))
|
(delete-file tmp-load-filename))
|
||||||
(save-drscheme-window-as tmp-load-filename)
|
(save-drscheme-window-as tmp-load-filename)
|
||||||
|
|
||||||
(run-test-in-language-level #t)
|
|
||||||
(run-test-in-language-level #f)
|
(run-test-in-language-level #f)
|
||||||
|
(run-test-in-language-level #t)
|
||||||
(kill-tests)
|
(kill-tests)
|
||||||
(callcc-test)
|
(callcc-test)
|
||||||
(top-interaction-test)
|
(top-interaction-test)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user