pkg-build/thread: fix test

This commit is contained in:
Matthew Flatt 2014-07-08 07:11:41 +01:00
parent 7dde0e98cf
commit 87c34b1023

View File

@ -89,7 +89,20 @@
;; --------------------------------------------------
(module+ test
(module test racket/base
(define o (open-output-bytes))
(parameterize ([current-output-port o]
[current-error-port o])
(define-syntax-rule (def id)
(define id
(dynamic-require (module-path-index-join
`(submod "..")
(variable-reference->module-path-index
(#%variable-reference)))
'id)))
(def thread/chunk-output)
(def flush-chunk-output)
(def wait-chunk-output)
(define t1 (thread/chunk-output
(lambda ()
(printf "hi\n")
@ -107,3 +120,20 @@
(printf "HOLA\n")
(eprintf "ADIOS\n"))))
(wait-chunk-output))
(let ([l '("hi\nbye" "hola\nadios")]
[s (get-output-string o)]
[sa (lambda (a b) (string-append (car a)
"\n"
(cadr a)
"\n"
(car b)
"\n"
(cadr b)
"\n"))]
[r reverse]
[u (lambda (l) (map string-upcase l))])
(unless (or (equal? s (sa l (u l)))
(equal? s (sa (r l) (u l)))
(equal? s (sa (r l) (u (r l))))
(equal? s (sa l (u (r l)))))
(error "mismatch: " s))))