0.8.6.10:
authorAndreas Fuchs <asf@boinkor.net>
Fri, 28 Nov 2003 23:07:26 +0000 (23:07 +0000)
committerAndreas Fuchs <asf@boinkor.net>
Fri, 28 Nov 2003 23:07:26 +0000 (23:07 +0000)
Fix up the fix for FreeBSD and sb-posix:
* revert the checks for sb-posix::eisdir to the saner
  sb-posix::eexists and sb-posix::ebusy.
* instead, don't fail when any ".ERROR" tests fail, but warn.

contrib/sb-posix/posix-tests.lisp
contrib/sb-posix/sb-posix.asd
version.lisp-expr

index 1a3eb6f..4761a22 100644 (file)
@@ -81,8 +81,7 @@
       (sb-posix:mkdir "/" 0)
     (sb-posix:syscall-error (c)
       (sb-posix:syscall-errno c)))
-  #-bsd #.sb-posix::eexist
-  #+bsd #.sb-posix::eisdir)
+  #.sb-posix::eexist)
 
 (deftest mkdir.error.3
   (handler-case
       (sb-posix:rmdir "/")
     (sb-posix:syscall-error (c)
       (sb-posix:syscall-errno c)))
-  #-bsd #.sb-posix::ebusy
-  #+bsd #.sb-posix::eisdir)
+  #.sb-posix::ebusy)
 
 (deftest rmdir.error.4
   (let* ((dir (ensure-directories-exist
index d307ef0..3fd109a 100644 (file)
   (operate 'test-op 'sb-posix-tests))
 
 (defmethod perform ((o test-op) (c (eql (find-system :sb-posix-tests))))
-  (or (funcall (intern "DO-TESTS" (find-package "SB-RT")))
-      (error "test-op failed")))
+  (funcall (intern "DO-TESTS" (find-package "SB-RT")))
+  (let ((failures (funcall (intern "PENDING-TESTS" "SB-RT")))
+       (ignored-failures (loop for sym being the symbols of :sb-posix-tests
+                               if (search ".ERROR" (symbol-name sym))
+                               collect sym)))
+    (cond
+      ((null failures)
+       t)           
+      ((null (set-difference failures ignored-failures))
+       (warn "~@<some POSIX implementations return incorrect error values for ~
+              failing calls, but there is legitimate variation between ~
+              implementations too.  If you think the errno ~
+              from your platform is valid, please contact the sbcl ~
+              developers; otherwise, please submit a bug report to your ~
+              kernel distributor~@:>")
+       t)
+      (t
+       (error "non-errno tests failed!")))))
index a0497e9..dcab66f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.8.6.9"
+"0.8.6.10"