Skip testl fcntl.flock.2 on NetBSD.
[sbcl.git] / contrib / sb-posix / posix-tests.lisp
index d257086..6cdc955 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)
-      (sb-posix:syscall-errno c)))
-  #+darwin
-  #.sb-posix:eisdir
-  #+win32
-  #.sb-posix::eacces
-  #+sunos
-  #.sb-posix::einval
-  #-(or darwin win32 sunos)
-  #.sb-posix::ebusy)
+      (typep
+       (sb-posix:syscall-errno c)
+       '(member
+         #+darwin
+         #.sb-posix:eisdir
+         #+win32
+         #.sb-posix::eacces
+         #+win32
+         #.sb-posix::enotempty
+         #+sunos
+         #.sb-posix::einval
+         #-(or darwin win32 sunos)
+         #.sb-posix::ebusy)))) t)
 
 (deftest rmdir.error.4
   (let* ((dir (ensure-directories-exist
 
 #+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