X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=contrib%2Fsb-bsd-sockets%2Ftests.lisp;h=a510c9f3ecb903a88cfb63ee7f0f5aa78ab7899f;hb=22c1de0a40df83bb5628974010a879cb2c17ff53;hp=22512f5fa6f2706cc5e7eb860d1c3b8097740b45;hpb=10d2c05ea44ca0837091434fe2223c0c31687615;p=sbcl.git
diff --git a/contrib/sb-bsd-sockets/tests.lisp b/contrib/sb-bsd-sockets/tests.lisp
index 22512f5..a510c9f 100644
--- a/contrib/sb-bsd-sockets/tests.lisp
+++ b/contrib/sb-bsd-sockets/tests.lisp
@@ -1,5 +1,5 @@
(defpackage "SB-BSD-SOCKETS-TEST"
- (:use "CL" "SB-BSD-SOCKETS" "RT"))
+ (:use "CL" "SB-BSD-SOCKETS" "SB-RT"))
#||
@@ -103,7 +103,7 @@ Tests are in the file tests.lisp and also make good examples.
(setf (elt buffer i) c))))
;;; these require that the echo services are turned on in inetd
-
+#+internet-available
(deftest simple-tcp-client
(let ((s (make-instance 'inet-socket :type :stream :protocol :tcp))
(data (make-string 200)))
@@ -115,6 +115,7 @@ Tests are in the file tests.lisp and also make good examples.
(> (length data) 0))))
t)
+#+internet-available
(deftest simple-udp-client
(let ((s (make-instance 'inet-socket :type :datagram :protocol (get-protocol-by-name "udp")))
(data (make-string 200)))
@@ -127,32 +128,40 @@ Tests are in the file tests.lisp and also make good examples.
(> (length data) 0))))
t)
-#||
-
Unix-domain sockets
-
-A fairly rudimentary test that connects to the syslog socket and sends a
-message. Priority 7 is kern.debug; you'll probably want to look at
-/etc/syslog.conf or local equivalent to find out where the message ended up
-||#
-
-(deftest simple-unix-client
- (let ((s (make-instance 'unix-socket :type :datagram)))
- (format t "~A~%" s)
- (socket-connect s "/dev/log")
+;;; A fairly rudimentary test that connects to the syslog socket and
+;;; sends a message. Priority 7 is kern.debug; you'll probably want
+;;; to look at /etc/syslog.conf or local equivalent to find out where
+;;; the message ended up
+
+#-sunos
+(deftest simple-local-client
+ (let ((s (make-instance 'local-socket :type :datagram)))
+ (format t "Connecting ~A... " s)
+ (finish-output)
+ (handler-case
+ (socket-connect s "/dev/log")
+ (sb-bsd-sockets::socket-error ()
+ (setq s (make-instance 'local-socket :type :stream))
+ (format t "failed~%Retrying with ~A... " s)
+ (finish-output)
+ (socket-connect s "/dev/log")))
+ (format t "ok.~%")
(let ((stream (socket-make-stream s :input t :output t :buffering :none)))
(format stream
- "<7>bsd-sockets: Don't panic. We're testing unix-domain client code; this message can safely be ignored")
+ "<7>bsd-sockets: Don't panic. We're testing local-domain client code; this message can safely be ignored")
t))
t)
-;;; these require that the internet (or bits of it, atleast) is available
+;;; these require that the internet (or bits of it, at least) is available
+#+internet-available
(deftest get-host-by-name
(equalp (car (host-ent-addresses (get-host-by-name "a.root-servers.net")))
#(198 41 0 4))
t)
+#+internet-available
(deftest get-host-by-address
(host-ent-name (get-host-by-address #(198 41 0 4)))
"a.root-servers.net")
@@ -172,6 +181,7 @@ message. Priority 7 is kern.debug; you'll probably want to look at
(format stream "~A HTTP/1.0~%~%" request))
s))
+#+internet-available
(deftest simple-http-client-1
(handler-case
(let ((s (http-stream "ww.telent.net" 80 "HEAD /")))
@@ -185,6 +195,7 @@ message. Priority 7 is kern.debug; you'll probably want to look at
t)
+#+internet-available
(deftest sockopt-receive-buffer
;; on Linux x86, the receive buffer size appears to be doubled in the
;; kernel: we set a size of x and then getsockopt() returns 2x.