Add patches from Aymeric Vincent to fix sb-posix on recentish NetBSD.
[sbcl.git] / contrib / sb-posix / posix-tests.lisp
index 0eec378..13bb23d 100644 (file)
 
 (deftest rmdir.error.3
   (handler-case
-      (sb-posix:rmdir #-win32 "/" #+win32 "C:/")
+      (sb-posix:rmdir #-win32 "/" #+win32 (sb-ext:posix-getenv "windir"))
     (sb-posix:syscall-error (c)
       (typep
        (sb-posix:syscall-errno c)
        '(member
-         #+darwin
+         #+(or darwin openbsd)
          #.sb-posix:eisdir
          #+win32
          #.sb-posix::eacces
          #.sb-posix::enotempty
          #+sunos
          #.sb-posix::einval
-         #-(or darwin win32 sunos)
+         #-(or darwin openbsd win32 sunos)
          #.sb-posix::ebusy)))) t)
 
 (deftest rmdir.error.4
 
 #+win32
 (deftest stat.5
-    (let* ((stat-1 (sb-posix:stat "/"))
-           (mode-1 (sb-posix:stat-mode stat-1))
-           (stat-2 (sb-posix:stat "C:\\pagefile.sys"
-                                   stat-1))
-           (mode-2 (sb-posix:stat-mode stat-2)))
-      (values
-       (eq stat-1 stat-2)
-       (/= mode-1 mode-2)))
+    (let ((f (namestring (merge-pathnames "some.file" *test-directory*))))
+      (close (open f :if-exists :append :if-does-not-exist :create))
+      (let* ((stat-1 (sb-posix:stat "/"))
+             (mode-1 (sb-posix:stat-mode stat-1))
+             (stat-2 (sb-posix:stat f stat-1))
+             (mode-2 (sb-posix:stat-mode stat-2)))
+        (values
+         (eq stat-1 stat-2)
+         (/= mode-1 mode-2))))
   t
   t)
 
   42)
 
 
-#-win32
+#-(or win32 netbsd)
 (deftest fcntl.flock.2
     (locally (declare (sb-ext:muffle-conditions sb-ext:compiler-note))
       (let ((flock (make-instance 'sb-posix:flock