1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
;;; Unit tests for the ACL-SOCKET compatibility package.
(in-package cl-user)
(require :acl-socket)
(use-package '(acl-socket))
(defun test1 ()
(let ((stream (make-socket :connect :active :remote-host "127.0.0.1" :remote-port 2500)))
(when stream
(read-line stream)
(format stream "helo foo")
(write-char #\Return stream)
(write-char #\Linefeed stream)
(finish-output stream)
(read-line stream)
(close stream))))
(defun test2 ()
(let ((stream (make-socket :connect :active :remote-host "127.0.0.1" :remote-port 2500)))
(when stream
(socket-control stream :output-chunking t)
(read-line stream)
(format stream "helo foo")
(write-char #\Return stream)
(write-char #\Linefeed stream)
(finish-output stream)
(read-line stream)
(close stream))))
(defun test3 ()
(let ((stream (make-socket :connect :active :remote-host "127.0.0.1" :remote-port 2500)))
(when stream
(socket-control stream :input-chunking t)
(prog1
(read-line stream)
(close stream)))))
(defun test4 ()
(let ((stream (or (make-socket :connect :active :remote-host "127.0.0.1" :remote-port 2500)
(error "Failed to connect."))))
(socket-control stream :input-chunking t)
(format t "File number 1: ")
#1=(handler-case
(loop
for char = (read-char stream nil stream)
until (eq char stream)
do (write-char char))
(excl::socket-chunking-end-of-file (e) (socket-control stream :input-chunking t)))
(format t "~%File number 2: ")
#1#
(terpri)
(values)))
|