chibi-scheme/lib/chibi/pty-test.sld
2019-08-19 23:03:09 +08:00

26 lines
941 B
Scheme

(define-library (chibi pty-test)
(import (scheme base) (scheme file) (scheme write)
(chibi io) (chibi pty) (chibi stty) (chibi test))
(export run-tests)
(begin
(define (run-tests . o)
(when (file-exists? "/usr/bin/units")
(test-begin "pty")
(test '("\t* 3.2808399" "\t/ 0.3048")
(call-with-pty-process-io
'("/usr/bin/units" "-q")
(lambda (pid in out name)
(with-raw-io
out
(lambda ()
;; input with tab completion
(display "mete\t" out) (newline out)
(display "fee\t" out) (newline out)
(display (integer->char 4) out)
(flush-output-port out)
;; result
(let* ((l1 (read-line in))
(l2 (read-line in)))
(list l1 l2)))))))
(test-end)))))