;; FIXME: (encode-universal-time 00 00 00 01 01 1970)
(unix-now (- now 2208988800))
(stat (sb-posix:stat *test-directory*))
- #+darwin (atime (sb-alien:slot (sb-posix:stat-atime stat) 'sb-posix::tv-sec))
- #-darwin (atime (sb-posix::stat-atime stat)))
+ (atime (sb-posix::stat-atime stat)))
;; FIXME: breaks if mounted noatime :-(
#+nil (< (- atime unix-now) 10)
(< (- atime unix-now) 10))
(logand mode sb-posix::s-iwoth))
0)
+;; Test that stat can take a second argument.
+(deftest stat.5
+ (let* ((stat-1 (sb-posix:stat "/"))
+ (inode-1 (sb-posix:stat-ino stat-1))
+ (stat-2 (sb-posix:stat "/bin/sh"
+ stat-1))
+ (inode-2 (sb-posix:stat-ino stat-2)))
+ (values
+ (eq stat-1 stat-2)
+ (/= inode-1 inode-2)))
+ t
+ t)
+
;;; FIXME: add tests for carrying a stat structure around in the
;;; optional argument to SB-POSIX:STAT
(not (sb-posix:getpwnam "root"))
nil)
+#-win32
+(deftest grent.1
+ ;; make sure that we found something
+ (not (sb-posix:getgrgid 0))
+ nil)
+
+#-win32
+(deftest grent.2
+ ;; make sure that we found something
+ (not (sb-posix:getgrnam "wheel"))
+ nil)
+
#+nil
;; Requires root or special group + plus a sensible thing on the port
(deftest cfget/setispeed.1
(plusp (sb-posix:time))
t)
-;;; CLH: FIXME! For darwin atime and mtime return a timespec. This
-;;; _should_ work, but it doesn't. For some reason mtime is always
-;;; 0. Comment the mtime test out for the moment.
-#+darwin
-(deftest utime.1
- (let ((file (merge-pathnames #p"utime.1" *test-directory*))
- (atime (random (1- (expt 2 31))))
- (mtime (random (1- (expt 2 31)))))
- (with-open-file (stream file
- :direction :output
- :if-exists :supersede
- :if-does-not-exist :create)
- (princ "Hello, utime" stream))
- (sb-posix:utime file atime mtime)
- (let* ((stat (sb-posix:stat file)))
- (delete-file file)
- (list (= (sb-alien:slot (sb-posix:stat-atime stat) 'sb-posix::tv-sec) atime)
- #+nil (= (sb-alien:slot (sb-posix:stat-mtime stat) 'sb-posix::tv-sec) mtime))))
- (t #+nil t))
-
-#-(or win32 darwin)
+#-win32
(deftest utimes.1
(let ((file (merge-pathnames #p"utimes.1" *test-directory*))
(atime (random (1- (expt 2 31))))
(sb-posix:unlink non-link-pathname))))
#.sb-posix:enotdir)
)
+
+(deftest getcwd.1
+ ;; FIXME: something saner, please
+ (equal (sb-unix::posix-getcwd) (sb-posix:getcwd))
+ t)