first commit
This commit is contained in:
parent
9da5680d55
commit
da3caf4f5b
|
@ -0,0 +1,268 @@
|
||||||
|
;;; Test for the function in section 3.12 of the scsh-manual "Terminal device control"
|
||||||
|
;;; Author: Christoph Hetz
|
||||||
|
|
||||||
|
;; for testing: (certainly the path will be an other on other systems...)
|
||||||
|
|
||||||
|
;; ,open define-record-types handle
|
||||||
|
;; ,config ,load C:/cygwin/home/mephisto/cvs-scsh/scsh/scsh/test/test-packages.scm
|
||||||
|
;; ,load C:/cygwin/home/mephisto/cvs-scsh/scsh/scsh/test/test-base.scm
|
||||||
|
;; load this file
|
||||||
|
;; (test-all)
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-test 'terminal-devive-control
|
||||||
|
(lambda ()
|
||||||
|
(let ((ti (tty-info)))
|
||||||
|
(and (string? (tty-info:control-chars ti))
|
||||||
|
(or (integer? (tty-info:input-flags ti))
|
||||||
|
(not (tty-info:input-flags ti)))
|
||||||
|
(or (integer? (tty-info:output-flags ti))
|
||||||
|
(not (tty-info:output-flags ti)))
|
||||||
|
(or (integer? (tty-info:control-flags ti))
|
||||||
|
(not (tty-info:control-flags ti)))
|
||||||
|
(or (integer? (tty-info:local-flags ti))
|
||||||
|
(not (tty-info:local-flags ti)))
|
||||||
|
(or (integer? (tty-info:input-speed ti))
|
||||||
|
(not (tty-info:input-speed ti)))
|
||||||
|
(or (integer? (tty-info:output-speed ti))
|
||||||
|
(not (tty-info:output-speed ti)))
|
||||||
|
(or (integer? (tty-info:min ti))
|
||||||
|
(not (tty-info:min ti)))
|
||||||
|
(or (integer? (tty-info:time ti))
|
||||||
|
(not(tty-info:time ti)))))))
|
||||||
|
|
||||||
|
(add-test! 'make-tty-info-test 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(let* ((in-fl 770)
|
||||||
|
(out-fl 3)
|
||||||
|
(c-fl 19200)
|
||||||
|
(loc-fl 1482)
|
||||||
|
(in-spd 1200)
|
||||||
|
(out-spd 1200)
|
||||||
|
(min 1)
|
||||||
|
(time 0)
|
||||||
|
(ti (make-tty-info in-fl
|
||||||
|
out-fl
|
||||||
|
c-fl
|
||||||
|
loc-fl
|
||||||
|
in-spd
|
||||||
|
out-spd
|
||||||
|
min
|
||||||
|
time)))
|
||||||
|
(and (= in-fl
|
||||||
|
(tty-info:input-flags ti))
|
||||||
|
(= out-fl
|
||||||
|
(tty-info:output-flags ti))
|
||||||
|
(= c-fl
|
||||||
|
(tty-info:control-flags ti))
|
||||||
|
(= in-spd
|
||||||
|
(tty-info:input-speed ti))
|
||||||
|
(= out-spd
|
||||||
|
(tty-info:output-speed ti))
|
||||||
|
(= min
|
||||||
|
(tty-info:min ti))
|
||||||
|
(= time
|
||||||
|
(tty-info:time ti))))))
|
||||||
|
|
||||||
|
(add-test! 'copy-tty-test 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(let* ((ti (tty-info))
|
||||||
|
(ti-c (copy-tty-info ti)))
|
||||||
|
(and (tty-info? ti)
|
||||||
|
(tty-info? ti-c)
|
||||||
|
(equal? (tty-info:control-chars ti)
|
||||||
|
(tty-info:control-chars ti-c))
|
||||||
|
(= (tty-info:input-flags ti)
|
||||||
|
(tty-info:input-flags ti-c))
|
||||||
|
(= (tty-info:output-flags ti)
|
||||||
|
(tty-info:output-flags ti-c))
|
||||||
|
(= (tty-info:control-flags ti)
|
||||||
|
(tty-info:control-flags ti-c))
|
||||||
|
(= (tty-info:local-flags ti)
|
||||||
|
(tty-info:local-flags ti-c))
|
||||||
|
(equal? (tty-info:input-speed ti)
|
||||||
|
(tty-info:input-speed ti-c))
|
||||||
|
(equal? (tty-info:output-speed ti)
|
||||||
|
(tty-info:output-speed ti-c))
|
||||||
|
(= (tty-info:min ti)
|
||||||
|
(tty-info:min ti-c))
|
||||||
|
(= (tty-info:time ti)
|
||||||
|
(tty-info:time ti-c))))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-posix-indicies-test 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(and ttychar/delete-char
|
||||||
|
ttychar/delete-line
|
||||||
|
ttychar/eof
|
||||||
|
ttychar/eol
|
||||||
|
ttychar/interrupt
|
||||||
|
ttychar/quit
|
||||||
|
ttychar/suspend
|
||||||
|
ttychar/start
|
||||||
|
ttychar/stop)))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-svr4&4.3+bsd-indicies-test 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttychar/delayed-suspend
|
||||||
|
ttychar/delete-word
|
||||||
|
ttychar/discard
|
||||||
|
ttychar/eol2
|
||||||
|
ttychar/literal-next
|
||||||
|
ttychar/reprint
|
||||||
|
ttychar/status)
|
||||||
|
(not (and ttychar/delayed-suspend
|
||||||
|
ttychar/delete-word
|
||||||
|
ttychar/discard
|
||||||
|
ttychar/eol2
|
||||||
|
ttychar/literal-next
|
||||||
|
ttychar/reprint
|
||||||
|
ttychar/status)))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-posix-input-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(and ttyin/check-parity
|
||||||
|
ttyin/ignore-bad-parity-chars
|
||||||
|
ttyin/mark-parity-errors
|
||||||
|
ttyin/ignore-break
|
||||||
|
ttyin/interrupt-on-break
|
||||||
|
ttyin/7bits
|
||||||
|
ttyin/cr->nl
|
||||||
|
ttyin/ignore-cr
|
||||||
|
ttyin/nl->cr
|
||||||
|
ttyin/input-flow-ctl
|
||||||
|
ttyin/output-flow-ctl)))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-svr4&4.3+bsd-input-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttyin/xon-any
|
||||||
|
ttyin/beep-on-overflow
|
||||||
|
ttyin/lowercase))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-posix-output-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
ttyout/enable))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-svr4&4.3+bsd-output-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttyout/nl->crnl
|
||||||
|
ttyout/discard-eot
|
||||||
|
ttyout/expand-tabs
|
||||||
|
ttyout/cr->nl
|
||||||
|
ttyout/nl-does-cr
|
||||||
|
ttyout/no-col0-cr
|
||||||
|
ttyout/delay-w/fill-char
|
||||||
|
ttyout/fill-w/del
|
||||||
|
ttyout/uppercase)
|
||||||
|
(not (and ttyout/nl->crnl
|
||||||
|
ttyout/discard-eot
|
||||||
|
ttyout/expand-tabs
|
||||||
|
ttyout/cr->nl
|
||||||
|
ttyout/nl-does-cr
|
||||||
|
ttyout/no-col0-cr
|
||||||
|
ttyout/delay-w/fill-char
|
||||||
|
ttyout/fill-w/del
|
||||||
|
ttyout/uppercase)))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-delay-constants-for-output-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttyout/bs-delay
|
||||||
|
ttyout/bs-delay0
|
||||||
|
ttyout/bs-delay1
|
||||||
|
ttyout/cr-delay
|
||||||
|
ttyout/cr-delay0
|
||||||
|
ttyout/cr-delay1
|
||||||
|
ttyout/cr-delay2
|
||||||
|
ttyout/cr-delay3
|
||||||
|
ttyout/ff-delay
|
||||||
|
ttyout/ff-delay0
|
||||||
|
ttyout/ff-delay1
|
||||||
|
ttyout/tab-delay
|
||||||
|
ttyout/tab-delay0
|
||||||
|
ttyout/tab-delay1
|
||||||
|
ttyout/tab-delay2
|
||||||
|
ttyout/tab-delayx
|
||||||
|
ttyout/nl-delay
|
||||||
|
ttyout/nl-delay0
|
||||||
|
ttyout/nl-delay1
|
||||||
|
ttyout/vtab-delay
|
||||||
|
ttyout/vtab-delay0
|
||||||
|
ttyout/vtab-delay1
|
||||||
|
ttyout/all-delay)
|
||||||
|
(not (and ttyout/bs-delay
|
||||||
|
ttyout/bs-delay0
|
||||||
|
ttyout/bs-delay1
|
||||||
|
ttyout/cr-delay
|
||||||
|
ttyout/cr-delay0
|
||||||
|
ttyout/cr-delay1
|
||||||
|
ttyout/cr-delay2
|
||||||
|
ttyout/cr-delay3
|
||||||
|
ttyout/ff-delay
|
||||||
|
ttyout/ff-delay0
|
||||||
|
ttyout/ff-delay1
|
||||||
|
ttyout/tab-delay
|
||||||
|
ttyout/tab-delay0
|
||||||
|
ttyout/tab-delay1
|
||||||
|
ttyout/tab-delay2
|
||||||
|
ttyout/tab-delayx
|
||||||
|
ttyout/nl-delay
|
||||||
|
ttyout/nl-delay0
|
||||||
|
ttyout/nl-delay1
|
||||||
|
ttyout/vtab-delay
|
||||||
|
ttyout/vtab-delay0
|
||||||
|
ttyout/vtab-delay1
|
||||||
|
ttyout/all-delay)))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-posix-control-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(and ttyc/char-size
|
||||||
|
ttyc/char-size5
|
||||||
|
ttyc/char-size6
|
||||||
|
ttyc/char-size7
|
||||||
|
ttyc/char-size8
|
||||||
|
ttyc/enable-parity
|
||||||
|
ttyc/odd-parity
|
||||||
|
ttyc/enable-read
|
||||||
|
ttyc/hup-on-close
|
||||||
|
ttyc/no-modem-sync
|
||||||
|
ttyc/2-stop-bits)))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-4.3+bsd-control-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttyc/ignore-flags
|
||||||
|
ttyc/CTS-output-flow-ctl
|
||||||
|
ttyc/RTS-input-flow-ctl
|
||||||
|
ttyc/carrier-flow-ctl)
|
||||||
|
(not (and ttyc/ignore-flags
|
||||||
|
ttyc/CTS-output-flow-ctl
|
||||||
|
ttyc/RTS-input-flow-ctl
|
||||||
|
ttyc/carrier-flow-ctl)))))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-posix-local-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(and ttyl/canonical
|
||||||
|
ttyl/echo
|
||||||
|
ttyl/echo-delete-line
|
||||||
|
ttyl/echo-nl
|
||||||
|
ttyl/visual-delete
|
||||||
|
ttyl/enable-signals
|
||||||
|
ttyl/extended
|
||||||
|
ttyl/no-flush-on-interrupt
|
||||||
|
ttyl/ttou-signal)))
|
||||||
|
|
||||||
|
(add-test! 'tty-info-record-svr4&4.3+bsd-local-flags 'terminal-device-control
|
||||||
|
(lambda ()
|
||||||
|
(or (and ttyl/echo-ctl
|
||||||
|
ttyl/flush-output
|
||||||
|
ttyl/hardcopy-delete
|
||||||
|
ttyl/reprint-unread-chars
|
||||||
|
ttyl/visual-delete-line
|
||||||
|
ttyl/alt-delete-word
|
||||||
|
ttyl/no-kernel-status
|
||||||
|
ttyl/case-map)
|
||||||
|
(not (and ttyl/echo-ctl
|
||||||
|
ttyl/flush-output
|
||||||
|
ttyl/hardcopy-delete
|
||||||
|
ttyl/reprint-unread-chars
|
||||||
|
ttyl/visual-delete-line
|
||||||
|
ttyl/alt-delete-word
|
||||||
|
ttyl/no-kernel-status
|
||||||
|
ttyl/case-map)))))
|
Loading…
Reference in New Issue