Index: test/uim-test-utils.scm =================================================================== --- test/uim-test-utils.scm (revision 740) +++ test/uim-test-utils.scm (working copy) @@ -1,5 +1,5 @@ (use gauche.process) -(use gauche.charconv) +(use gauche.selector) (use test.unit) (sys-putenv "LIBUIM_SCM_FILES" "./scm") @@ -14,15 +14,19 @@ (with-module test.unit add-test-case!)) (define *uim-process* #f) +(define *uim-selector* (make )) (define (uim sexp) (write sexp (process-input *uim-process*)) (flush-all-ports) (let ((output (process-output *uim-process*)) - (err (wrap-with-input-conversion (process-error *uim-process*) - #f - :buffer-size 0))) - (while (char-ready? err) - (sys-nanosleep 100)) + (err (process-error *uim-process*))) + (set! (port-buffering err) :none) + (selector-add! *uim-selector* + err + (lambda (sock flag) + (selector-delete! *uim-selector* sock #f #f)) + '(r)) + (selector-select *uim-selector*) (read err))) (define (uim-bool sexp)