raco exe test: add no-GUI mode
This commit is contained in:
parent
a0023d5797
commit
f97342b138
|
@ -8,6 +8,9 @@
|
||||||
compiler/distribute
|
compiler/distribute
|
||||||
(only-in pkg/lib installed-pkg-names))
|
(only-in pkg/lib installed-pkg-names))
|
||||||
|
|
||||||
|
(define skip-mred? (and (getenv "PLT_TEST_NO_GUI")
|
||||||
|
#t))
|
||||||
|
|
||||||
(define (test expect f/label . args)
|
(define (test expect f/label . args)
|
||||||
(define r (apply (if (procedure? f/label)
|
(define r (apply (if (procedure? f/label)
|
||||||
f/label
|
f/label
|
||||||
|
@ -46,15 +49,15 @@
|
||||||
|
|
||||||
(define (call-with-retries thunk)
|
(define (call-with-retries thunk)
|
||||||
(let loop ([sleep-time 0.01])
|
(let loop ([sleep-time 0.01])
|
||||||
(with-handlers ([exn:fail:filesystem? (lambda (exn)
|
(with-handlers* ([exn:fail:filesystem? (lambda (exn)
|
||||||
;; Accommodate Windows background tasks,
|
;; Accommodate Windows background tasks,
|
||||||
;; like anti-virus software and indexing,
|
;; like anti-virus software and indexing,
|
||||||
;; that can prevent an ".exe" from being deleted
|
;; that can prevent an ".exe" from being deleted
|
||||||
(if (= sleep-time 1.0)
|
(if (= sleep-time 1.0)
|
||||||
(raise exn)
|
(raise exn)
|
||||||
(begin
|
(begin
|
||||||
(sleep sleep-time)
|
(sleep sleep-time)
|
||||||
(loop (* 2 sleep-time)))))])
|
(loop (* 2 sleep-time)))))])
|
||||||
(thunk))))
|
(thunk))))
|
||||||
|
|
||||||
(define (prepare exe src)
|
(define (prepare exe src)
|
||||||
|
@ -290,16 +293,17 @@
|
||||||
|
|
||||||
(define (try-basic)
|
(define (try-basic)
|
||||||
(mz-tests #f)
|
(mz-tests #f)
|
||||||
(mz-tests #t)
|
(unless skip-mred?
|
||||||
(begin
|
(mz-tests #t)
|
||||||
(prepare mr-dest "embed-me5.rkt")
|
(begin
|
||||||
(make-embedding-executable
|
(prepare mr-dest "embed-me5.rkt")
|
||||||
mr-dest #t #f
|
(make-embedding-executable
|
||||||
`((#t (lib "embed-me5.rkt" "tests" "compiler" "embed")))
|
mr-dest #t #f
|
||||||
null
|
`((#t (lib "embed-me5.rkt" "tests" "compiler" "embed")))
|
||||||
#f
|
null
|
||||||
`("-l" "tests/compiler/embed/embed-me5.rkt"))
|
#f
|
||||||
(try-exe mr-dest "This is 5: #<class:button%>\n" #t)))
|
`("-l" "tests/compiler/embed/embed-me5.rkt"))
|
||||||
|
(try-exe mr-dest "This is 5: #<class:button%>\n" #t))))
|
||||||
|
|
||||||
(define (try-embedded-dlls)
|
(define (try-embedded-dlls)
|
||||||
(prepare mz-dest "embed-me1.rkt")
|
(prepare mz-dest "embed-me1.rkt")
|
||||||
|
@ -312,15 +316,16 @@
|
||||||
'((embed-dlls? . #t)))
|
'((embed-dlls? . #t)))
|
||||||
(try-exe mz-dest "This is 1\n" #t)
|
(try-exe mz-dest "This is 1\n" #t)
|
||||||
|
|
||||||
(prepare mr-dest "embed-me5.rkt")
|
(unless skip-mred?
|
||||||
(make-embedding-executable
|
(prepare mr-dest "embed-me5.rkt")
|
||||||
mr-dest #t #f
|
(make-embedding-executable
|
||||||
`((#t (lib "embed-me5.rkt" "tests" "compiler" "embed")))
|
mr-dest #t #f
|
||||||
'()
|
`((#t (lib "embed-me5.rkt" "tests" "compiler" "embed")))
|
||||||
#f
|
'()
|
||||||
`("-l" "tests/compiler/embed/embed-me5.rkt")
|
#f
|
||||||
'((embed-dlls? . #t)))
|
`("-l" "tests/compiler/embed/embed-me5.rkt")
|
||||||
(try-exe mr-dest "This is 5: #<class:button%>\n" #t))
|
'((embed-dlls? . #t)))
|
||||||
|
(try-exe mr-dest "This is 5: #<class:button%>\n" #t)))
|
||||||
|
|
||||||
;; Try the raco interface:
|
;; Try the raco interface:
|
||||||
(require setup/dirs
|
(require setup/dirs
|
||||||
|
@ -517,7 +522,8 @@
|
||||||
|
|
||||||
(define (try-mzc)
|
(define (try-mzc)
|
||||||
(mzc-tests #f)
|
(mzc-tests #f)
|
||||||
(short-mzc-tests #t))
|
(unless skip-mred?
|
||||||
|
(short-mzc-tests #t)))
|
||||||
|
|
||||||
(require dynext/file)
|
(require dynext/file)
|
||||||
(define (extension-test mred?)
|
(define (extension-test mred?)
|
||||||
|
@ -576,16 +582,18 @@
|
||||||
|
|
||||||
(define (try-extension)
|
(define (try-extension)
|
||||||
(extension-test #f)
|
(extension-test #f)
|
||||||
(extension-test #t))
|
(unless skip-mred?
|
||||||
|
(extension-test #t)))
|
||||||
|
|
||||||
(define (try-gracket)
|
(define (try-gracket)
|
||||||
;; A GRacket-specific test with mzc:
|
(unless skip-mred?
|
||||||
(parameterize ([current-directory (find-system-path 'temp-dir)])
|
;; A GRacket-specific test with mzc:
|
||||||
(system+ mzc
|
(parameterize ([current-directory (find-system-path 'temp-dir)])
|
||||||
"--gui-exe"
|
(system+ mzc
|
||||||
(path->string (mk-dest #t))
|
"--gui-exe"
|
||||||
(path->string (build-path (collection-path "tests" "compiler" "embed") "embed-me5.rkt")))
|
(path->string (mk-dest #t))
|
||||||
(try-exe (mk-dest #t) "This is 5: #<class:button%>\n" #t)))
|
(path->string (build-path (collection-path "tests" "compiler" "embed") "embed-me5.rkt")))
|
||||||
|
(try-exe (mk-dest #t) "This is 5: #<class:button%>\n" #t))))
|
||||||
|
|
||||||
;; Try including source that needs a reader extension
|
;; Try including source that needs a reader extension
|
||||||
|
|
||||||
|
@ -630,7 +638,8 @@
|
||||||
(define (try-reader)
|
(define (try-reader)
|
||||||
(for ([12? (in-list '(#f #t))])
|
(for ([12? (in-list '(#f #t))])
|
||||||
(try-reader-test 12? #f #f #f)
|
(try-reader-test 12? #f #f #f)
|
||||||
(try-reader-test 12? #t #f #f)
|
(unless skip-mred?
|
||||||
|
(try-reader-test 12? #t #f #f))
|
||||||
(try-reader-test 12? #f #t #f)
|
(try-reader-test 12? #f #t #f)
|
||||||
(try-reader-test 12? #f #f #t)))
|
(try-reader-test 12? #f #f #t)))
|
||||||
|
|
||||||
|
@ -805,4 +814,3 @@
|
||||||
(parameterize ([read-accept-reader #t]
|
(parameterize ([read-accept-reader #t]
|
||||||
[current-namespace (make-base-namespace)])
|
[current-namespace (make-base-namespace)])
|
||||||
(eval (read (open-input-string "#lang racket 10")))))
|
(eval (read (open-input-string "#lang racket 10")))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user