Run sb-bsd-sockets tests on windows
Previously, we did not attempt tests for this contrib on Windows at
all, presumably because this (otherwise functional) contrib would
have failed some tests and hence would not have been installed.
Instead, mark the remaining failures as expected, so that they get
reported without preventing installation of the contrib.
Loading branch information
2 changed files
and 11 deletions.
@@ -43,18 +43,29 @@
defmethod perform :after ((o load-op) (c (eql (find-system :sb-bsd-sockets))))
defmethod perform ((o test-op) (c (eql (find-system :sb-bsd-sockets))))
(operate 'load-op 'sb-bsd-sockets-tests)
(operate 'test-op 'sb-bsd-sockets-tests))
:depends-on (sb-rt sb-bsd-sockets
))) "tests "
defmethod perform ((o test-op) (c (eql (find-system :sb-bsd-sockets-tests))))
or (funcall (intern (find-package "DO-TESTS " ))) "SB-RT "
))) "test-op failed "
+ (multiple-value-bind (soft strict pending)
+ (funcall (intern
(find-package "DO-TESTS " ))) "SB-RT "
+ (unless strict
;; We create TEST-PASSED from a shell script if tests passed. But
;; since the shell script only `touch'es it, we can actually create
;; it ahead of time -- as long as we're certain that tests truly
;; passed, hence the check for SOFT.
+ (with-open-file (s
+ :direction :output)
+ (dolist (pend pending)
format s pend)))) "Expected failure: ~A~% "
)) "ignoring expected failures in test-op "
+ (unless soft
)))) "test-op failed with unexpected failures "
@@ -50,7 +50,7 @@
and (> (socket-file-descriptor s) 1) t))
* (make-inet-socket-wrong :fails-on :win32)
;; fail to make a socket: check correct error return. There's no nice
;; way to check the condition stuff on its own, which is a shame
@@ -66,7 +66,7 @@
* (make-inet-socket-keyword-wrong :fails-on :win32)
;; same again with keywords
(make-instance 'inet-socket :type :stream :protocol :udp)
@@ -83,7 +83,7 @@
* (non-block-socket :fails-on :win32)
let ((s (make-instance 'inet-socket :type :stream :protocol :tcp)))
setf (non-blocking-mode s) t)
@@ -112,7 +112,7 @@
* (simple-sockopt-test :fails-on :win32)
;; test we can set SO_REUSEADDR on a socket and retrieve it, and in
;; the process that all the weird macros in sockopt happened right.
let ((s (make-instance 'inet-socket :type :stream :protocol (get-protocol-by-name )))) "tcp "
@@ -177,8 +177,8 @@
;;; to look at /etc/syslog.conf or local equivalent to find out where
;;; the message ended up
;; SunOS (Solaris) and Darwin systems don't have a socket at
;; /dev/log. We might also be building in a chroot or