compatibility/compatibility-test/tests/mzlib/restart.rktl
2014-12-02 09:43:08 -05:00

37 lines
1.3 KiB
Racket

(load-relative "loadtest.rktl")
(require mzlib/restart)
(Section 'restart)
(test #t restart-mzscheme #("ignore-me") values #("") void)
(let ([test-in-out
(lambda (pre post in out err?)
(let ([err-out (open-output-string)])
(test (if out
(string-append "> " out "\n> ")
"")
'result
(let ([s (open-output-string)])
(parameterize ([current-input-port (open-input-string in)]
[current-output-port s]
[current-error-port err-out])
(restart-mzscheme pre values post void)
(get-output-string s))))
(test err? not (string=? "" (get-output-string err-out)))))])
(test-in-out #("-q" "ignore-me") #("-i") "(current-command-line-arguments)" "#()" #f)
(test-in-out #("-q") #("-i") "'Hello" "Hello" #f)
(test-in-out #("-q") #() "'Hello" "Hello" #f)
(test-in-out #("-q") #("-e" "1") "" #f #f)
(test-in-out #("-q") #("-i" "-e" "1") "'Hello" "Hello" #f)
(test-in-out #("-q") #("-e" "z") "" #f #t)
(test-in-out #("-q") #("-e" "car" "-i") "'Hello" "Hello" #f)
(test-in-out #("-q") #("-e" "car") "" #f #f)
(test-in-out #("-q") #("-l" "scheme/list" "-e" "car") "" #f #t)
)
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(report-errs)