0.8.2.7:
[sbcl.git] / contrib / sb-bsd-sockets / tests.lisp
index 22512f5..a510c9f 100644 (file)
@@ -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 <tt>tests.lisp</tt> 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 <tt>tests.lisp</tt> 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 <tt>tests.lisp</tt> and also make good examples.
        (> (length data) 0))))
   t)
 
-#||
-<h2>Unix-domain sockets</h2>
-
-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.