[usocket-cvs] r528 - usocket/trunk/test

Chun Tian (binghe) ctian at common-lisp.net
Tue Jun 29 12:16:48 UTC 2010


Author: ctian
Date: Tue Jun 29 08:16:48 2010
New Revision: 528

Log:
Tests: add simple unit tests for WAIT-FOR-INPUT (with other small changes).

Modified:
   usocket/trunk/test/package.lisp
   usocket/trunk/test/test-usocket.lisp

Modified: usocket/trunk/test/package.lisp
==============================================================================
--- usocket/trunk/test/package.lisp	(original)
+++ usocket/trunk/test/package.lisp	Tue Jun 29 08:16:48 2010
@@ -5,9 +5,7 @@
 
 (in-package :cl-user)
 
-(eval-when (:execute :load-toplevel :compile-toplevel)
-  (defpackage :usocket-test
-      (:use :cl :regression-test)
-    (:nicknames :usoct)
-    (:export :do-tests :run-usocket-tests)))
-
+(defpackage :usocket-test
+  (:use :cl :regression-test)
+  (:nicknames :usoct)
+  (:export :do-tests :run-usocket-tests))

Modified: usocket/trunk/test/test-usocket.lisp
==============================================================================
--- usocket/trunk/test/test-usocket.lisp	(original)
+++ usocket/trunk/test/test-usocket.lisp	Tue Jun 29 08:16:48 2010
@@ -3,19 +3,21 @@
 
 ;;;; See LICENSE for licensing information.
 
+;;;; Usage: (usoct:run-usocket-tests) or (usoct:do-tests)
+
 (in-package :usocket-test)
 
-;; The parameters below may need adjustments to match the system
-;; the tests are run on.
-(defparameter +non-existing-host+ "192.168.1.199")
+(defparameter +non-existing-host+ "1.2.3.4")
 (defparameter +unused-local-port+ 15213)
-(defparameter *soc1* (usocket::make-stream-socket :socket :my-socket
-                                                  :stream :my-stream))
-(eval-when (:compile-toplevel :load-toplevel :execute)
-  (defparameter +local-ip+ #(192 168 1 25))
-  (defparameter +common-lisp-net+
-    #+ignore #(80 68 86 115) ;; common-lisp.net IP (not valid as of 2010-01-03
-    (first (usocket::get-hosts-by-name "common-lisp.net"))))
+
+(defparameter *fake-usocket*
+  (usocket::make-stream-socket :socket :my-socket
+                               :stream :my-stream))
+
+(defconstant +common-lisp-net+
+  #.(first (usocket::get-hosts-by-name "common-lisp.net")))
+
+(defvar *local-ip*)
 
 (defmacro with-caught-conditions ((expect throw) &body body)
   `(catch 'caught-error
@@ -46,19 +48,21 @@
                          (describe c)
                          c))))))
 
-(deftest make-socket.1 (usocket:socket *soc1*) :my-socket)
-(deftest make-socket.2 (usocket:socket-stream *soc1*) :my-stream)
+(deftest make-socket.1 (usocket:socket *fake-usocket*) :my-socket)
+(deftest make-socket.2 (usocket:socket-stream *fake-usocket*) :my-stream)
 
 (deftest socket-no-connect.1
   (with-caught-conditions ('usocket:socket-error nil)
       (usocket:socket-connect "127.0.0.0" +unused-local-port+ :timeout 0)
       t)
   nil)
+
 (deftest socket-no-connect.2
   (with-caught-conditions ('usocket:socket-error nil)
     (usocket:socket-connect #(127 0 0 0) +unused-local-port+ :timeout 0)
     t)
   nil)
+
 (deftest socket-no-connect.3
   (with-caught-conditions ('usocket:socket-error nil)
     (usocket:socket-connect 2130706432 +unused-local-port+ :timeout 0) ;; == #(127 0 0 0)
@@ -76,6 +80,7 @@
     (usocket:socket-connect 2130706432 +unused-local-port+ :timeout 0) ;; == #(127 0 0 0)
     :unreach)
   nil)
+
 (deftest socket-failure.2
   (with-caught-conditions (#+(or lispworks armedbear)
                              'usocket:unknown-error
@@ -86,11 +91,10 @@
                            #-(or lispworks armedbear cmu openmcl mcl)
                              'usocket:host-unreachable-error
                            nil)
-      (usocket:socket-connect +non-existing-host+ 80 :timeout 0) ;; 80 = just a port
-      :unreach)
+    (usocket:socket-connect +non-existing-host+ 80 :timeout 0) ;; 80 = just a port
+    :unreach)
   nil)
 
-
 ;; let's hope c-l.net doesn't move soon, or that people start to
 ;; test usocket like crazy..
 (deftest socket-connect.1
@@ -100,6 +104,7 @@
           (when (typep sock 'usocket:usocket) t)
         (usocket:socket-close sock))))
   t)
+
 (deftest socket-connect.2
   (with-caught-conditions (nil nil)
     (let ((sock (usocket:socket-connect +common-lisp-net+ 80)))
@@ -107,6 +112,7 @@
           (when (typep sock 'usocket:usocket) t)
         (usocket:socket-close sock))))
   t)
+
 (deftest socket-connect.3
   (with-caught-conditions (nil nil)
     (let ((sock (usocket:socket-connect (usocket::host-byte-order +common-lisp-net+) 80)))
@@ -128,7 +134,7 @@
             (read-line (usocket:socket-stream sock)))
         (usocket:socket-close sock))))
   #+(or mcl clisp) "HTTP/1.1 200 OK"
-  #-(or clisp mcl) #.(format nil "HTTP/1.1 200 OK~A" #\Return) nil)
+  #-(or mcl clisp) #.(format nil "HTTP/1.1 200 OK~A" #\Return) nil)
 
 (deftest socket-name.1
   (with-caught-conditions (nil nil)
@@ -136,7 +142,8 @@
       (unwind-protect
           (usocket::get-peer-address sock)
         (usocket:socket-close sock))))
-  #.+common-lisp-net+)
+  +common-lisp-net+)
+
 (deftest socket-name.2
   (with-caught-conditions (nil nil)
     (let ((sock (usocket:socket-connect +common-lisp-net+ 80)))
@@ -144,23 +151,45 @@
           (usocket::get-peer-port sock)
         (usocket:socket-close sock))))
   80)
+
 (deftest socket-name.3
   (with-caught-conditions (nil nil)
     (let ((sock (usocket:socket-connect +common-lisp-net+ 80)))
       (unwind-protect
           (usocket::get-peer-name sock)
         (usocket:socket-close sock))))
-  #.+common-lisp-net+ 80)
+  +common-lisp-net+)
+
+#+ignore
 (deftest socket-name.4
   (with-caught-conditions (nil nil)
     (let ((sock (usocket:socket-connect +common-lisp-net+ 80)))
       (unwind-protect
           (usocket::get-local-address sock)
         (usocket:socket-close sock))))
-  #.+local-ip+)
+  *local-ip*)
+
+(defparameter *wait-for-input-timeout* 2)
 
+(deftest wait-for-input.1
+  (with-caught-conditions (nil nil)
+    (let ((sock (usocket:socket-connect +common-lisp-net+ 80))
+          (time (get-universal-time)))
+      (unwind-protect
+          (progn (usocket:wait-for-input sock :timeout *wait-for-input-timeout*)
+            (- (get-universal-time) time))
+        (usocket:socket-close sock))))
+  *wait-for-input-timeout*)
+
+(deftest wait-for-input.2
+  (with-caught-conditions (nil nil)
+    (let ((sock (usocket:socket-connect +common-lisp-net+ 80))
+          (time (get-universal-time)))
+      (unwind-protect
+          (progn (usocket:wait-for-input sock :timeout *wait-for-input-timeout* :ready-only t)
+            (- (get-universal-time) time))
+        (usocket:socket-close sock))))
+  *wait-for-input-timeout*)
 
 (defun run-usocket-tests ()
   (do-tests))
-
-;;; (usoct::run-usocket-tests )
\ No newline at end of file




More information about the usocket-cvs mailing list