1;;; -*- Lisp -*- 2 3(defsystem :sb-bsd-sockets 4 :version "0.59" 5 :defsystem-depends-on (sb-grovel) 6 #+sb-building-contrib :pathname 7 #+sb-building-contrib #p"SYS:CONTRIB;SB-BSD-SOCKETS;" 8 :components 9 ((:file "defpackage") 10 (:file "win32-lib" :if-feature :win32) 11 (:sb-grovel-constants-file "constants" 12 :package :sockint 13 :depends-on ("defpackage") 14 :if-feature (:not :win32)) 15 (:sb-grovel-constants-file "win32-constants" 16 :package :sockint 17 :depends-on ("defpackage" "win32-lib") 18 :if-feature :win32) 19 (:file "util" :depends-on ("defpackage" "constants")) 20 (:file "protocol" :depends-on ("defpackage")) 21 (:file "win32-sockets" :depends-on ("protocol" "win32-constants") 22 :if-feature :win32) 23 (:file "sockets" :depends-on ("util" "constants" "protocol" "win32-sockets")) 24 (:file "sockopt" :depends-on ("util" "sockets")) 25 (:file "inet" :depends-on ("protocol" "sockets")) 26 (:file "inet4" :depends-on ("protocol" "sockets")) 27 (:file "inet6" :depends-on ("protocol" "sockets") 28 :if-feature (:not :win32)) 29 (:file "local" :depends-on ("protocol" "sockets")) 30 (:file "name-service" :depends-on ("protocol" "sockets")) 31 (:file "misc" :depends-on ("sockets")) 32 33 ;; FIXME at least NEWS and TODO actually exist in the 34 ;; filesystem. However, their all-uppercase names are translated to 35 ;; all-lowercase in logical pathname translation. 36 ;; (:static-file "NEWS") 37 ;; (:static-file "INSTALL") 38 ;; (:static-file "README") 39 ;; (:static-file "index.html") 40 ;; (:static-file "TODO") 41 ) 42 :perform (load-op :after (o c) (provide 'sb-bsd-sockets)) 43 :perform (test-op (o c) (test-system 'sb-bsd-sockets/tests))) 44 45(defsystem :sb-bsd-sockets/tests 46 :depends-on (sb-rt sb-bsd-sockets #-win32 sb-posix) 47 :components ((:file "tests")) 48 :perform (test-op (o c) 49 (multiple-value-bind (soft strict pending) 50 (funcall (intern "DO-TESTS" (find-package "SB-RT"))) 51 (declare (ignorable pending)) 52 (fresh-line) 53 (unless strict 54 #+sb-testing-contrib 55 ;; We create TEST-PASSED from a shell script if tests passed. But 56 ;; since the shell script only `touch'es it, we can actually create 57 ;; it ahead of time -- as long as we're certain that tests truly 58 ;; passed, hence the check for SOFT. 59 (when soft 60 (with-open-file (s #p"SYS:CONTRIB;SB-BSD-SOCKETS;TEST-PASSED.TEST-REPORT" 61 :direction :output) 62 (dolist (pend pending) 63 (format s "Expected failure: ~A~%" pend)))) 64 (warn "ignoring expected failures in test-op")) 65 (unless soft 66 (error "test-op failed with unexpected failures"))))) 67