1.0.31.23: OAOOize external-format support
[sbcl.git] / contrib / sb-posix / posix-tests.lisp
index 2a97c4c..69a00a7 100644 (file)
         result)))
   #.sb-posix::eacces)
 \f
+#-darwin
 (deftest stat.1
   (let* ((stat (sb-posix:stat *test-directory*))
          (mode (sb-posix::stat-mode stat)))
     (logand mode (logior sb-posix::s-iread sb-posix::s-iwrite sb-posix::s-iexec)))
   #.(logior sb-posix::s-iread sb-posix::s-iwrite sb-posix::s-iexec))
 
-#-win32
+#-(or darwin win32)
 (deftest stat.2
   (let* ((stat (sb-posix:stat "/"))
          (mode (sb-posix::stat-mode stat)))
     (< (- atime unix-now) 10))
   t)
 
-#-win32
+#-(or darwin win32)
 (deftest stat.4
   (let* ((stat (sb-posix:stat (make-pathname :directory '(:absolute :up))))
          (mode (sb-posix::stat-mode stat)))
     (sb-posix:s-isreg mode))
   nil)
 
+#-darwin
 (deftest stat-mode.2
   (with-stat-mode (mode *test-directory*)
     (sb-posix:s-isdir mode))
     (sb-posix:s-issock mode))
   nil)
 
-#-win32
+#-(or win32 darwin)
 (deftest stat-mode.7
   (let ((link-pathname (make-pathname :name "stat-mode.7"
                                       :defaults *test-directory*)))
       (ignore-errors (sb-posix:unlink link-pathname))))
   t)
 
+#-darwin
 (deftest stat-mode.8
   (let ((pathname (make-pathname :name "stat-mode.8"
                                  :defaults *test-directory*)))
         (ignore-errors (sb-posix:unlink name))))
   nil)
 
+#-hpux ; fix: cant handle c-vargs
 (deftest open.error.1
   (handler-case (sb-posix:open *test-directory* sb-posix::o-wronly)
     (sb-posix:syscall-error (c)
   #+win32
   #.sb-posix:eacces)
 
-#-(or (and x86-64 linux) win32)
+#-(or (and x86-64 (or linux sunos)) win32)
 (deftest fcntl.1
   (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
     (= (sb-posix:fcntl fd sb-posix::f-getfl) sb-posix::o-nonblock))
   t)
 ;; On AMD64/Linux O_LARGEFILE is always set, even though the whole
 ;; flag makes no sense.
-#+(and x86-64 linux)
+#+(and x86-64 (or linux sunos))
 (deftest fcntl.1
   (let ((fd (sb-posix:open "/dev/null" sb-posix::o-nonblock)))
     (/= 0 (logand (sb-posix:fcntl fd sb-posix::f-getfl)
                   sb-posix::o-nonblock)))
   t)
 
-#-win32
+#-(or hpux win32) ; fix: cant handle c-vargs
 (deftest fcntl.flock.1
     (locally (declare (sb-ext:muffle-conditions sb-ext:compiler-note))
       (let ((flock (make-instance 'sb-posix:flock
       (sb-posix:closedir dir)))
   t)
 
+#-darwin
 (deftest readdir/dirent-name
     (let ((dir (sb-posix:opendir *current-directory*)))
       (unwind-protect
   t)
 
 
-#-win32
+#-(or darwin win32)
 (deftest time.1
     (plusp (sb-posix:time))
   t)
 
-#-win32
+#-(or darwin win32)
 (deftest utimes.1
     (let ((file (merge-pathnames #p"utimes.1" *test-directory*))
           (atime (random (1- (expt 2 31))))
   ;; Same thing, but with a very long link target (which doesn't have
   ;; to exist).  This tests the array adjustment in the wrapper,
   ;; provided that the target's length is long enough.
+  #-hpux ; arg2 to readlink is 80, and arg0 is larger than that
   (deftest readlink.2
       (let ((target-pathname (make-pathname
                               :name (make-string 255 :initial-element #\a)
           (delete-file temp))))
   t "mkstemp-1")
 
-#-win32
+;#-(or win32 sunos hpux)
+;;;; mkdtemp is unimplemented on at least Solaris 10
+#-(or win32 hpux)
+;;; But it is implemented on OpenSolaris 2008.11
 (deftest mkdtemp.1
     (let ((pathname
            (sb-ext:parse-native-namestring