X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-bsd-sockets%2Fsb-bsd-sockets.asd;h=7bbf5d90839cd449c07a4b1977fecf79a15b51f2;hb=b9691ef5009d3669c4f87f4dfbd2baf4538e60f8;hp=1163cbdc5a019b80b7c24f8d6e4f3d13d1f0578b;hpb=d6db469884468ef1cbe41fdad328eda5fb9934a4;p=sbcl.git diff --git a/contrib/sb-bsd-sockets/sb-bsd-sockets.asd b/contrib/sb-bsd-sockets/sb-bsd-sockets.asd index 1163cbd..7bbf5d9 100644 --- a/contrib/sb-bsd-sockets/sb-bsd-sockets.asd +++ b/contrib/sb-bsd-sockets/sb-bsd-sockets.asd @@ -43,18 +43,29 @@ (defmethod perform :after ((o load-op) (c (eql (find-system :sb-bsd-sockets)))) (provide 'sb-bsd-sockets)) -#-win32 (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)) -#-win32 (defsystem sb-bsd-sockets-tests :depends-on (sb-rt sb-bsd-sockets #-win32 sb-posix) :components ((:file "tests"))) -#-win32 (defmethod perform ((o test-op) (c (eql (find-system :sb-bsd-sockets-tests)))) - (or (funcall (intern "DO-TESTS" (find-package "SB-RT"))) - (error "test-op failed"))) - + (multiple-value-bind (soft strict pending) + (funcall (intern "DO-TESTS" (find-package "SB-RT"))) + (fresh-line) + (unless strict + #+sb-testing-contrib + ;; 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. + (when soft + (with-open-file (s #p"SYS:CONTRIB;SB-BSD-SOCKETS;TEST-PASSED" + :direction :output) + (dolist (pend pending) + (format s "Expected failure: ~A~%" pend)))) + (warn "ignoring expected failures in test-op")) + (unless soft + (error "test-op failed with unexpected failures"))))