X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fposix-tests.lisp;h=95afdd51db1b35fa4561c36c4d48fb2dbca50057;hb=93dd7df18bb1774e6620df84598122d8650127e5;hp=69a00a7391ddcbf8ca78241968270b2baa7d60ae;hpb=9e0cc7f6afca5682944d9cc88eed63b5d80cbe9e;p=sbcl.git diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp index 69a00a7..95afdd5 100644 --- a/contrib/sb-posix/posix-tests.lisp +++ b/contrib/sb-posix/posix-tests.lisp @@ -108,10 +108,12 @@ (sb-posix:mkdir #-win32 "/" #+win32 "C:/" 0) (sb-posix:syscall-error (c) (sb-posix:syscall-errno c))) - #-win32 - #.sb-posix::eexist + #+darwin + #.sb-posix:eisdir #+win32 - #.sb-posix:eacces) + #.sb-posix:eacces + #-(or darwin win32) + #.sb-posix::eexist) (define-eacces-test mkdir.error.3 (let* ((dir (merge-pathnames @@ -167,10 +169,14 @@ (sb-posix:rmdir #-win32 "/" #+win32 "C:/") (sb-posix:syscall-error (c) (sb-posix:syscall-errno c))) - #-win32 - #.sb-posix::ebusy + #+darwin + #.sb-posix:eisdir #+win32 - #.sb-posix::eacces) + #.sb-posix::eacces + #+sunos + #.sb-posix::einval + #-(or darwin win32 sunos) + #.sb-posix::ebusy) (deftest rmdir.error.4 (let* ((dir (ensure-directories-exist @@ -213,7 +219,6 @@ result))) #.sb-posix::eacces) -#-darwin (deftest stat.1 (let* ((stat (sb-posix:stat *test-directory*)) (mode (sb-posix::stat-mode stat))) @@ -221,7 +226,7 @@ (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)) -#-(or darwin win32) +#-win32 (deftest stat.2 (let* ((stat (sb-posix:stat "/")) (mode (sb-posix::stat-mode stat))) @@ -242,7 +247,7 @@ (< (- atime unix-now) 10)) t) -#-(or darwin win32) +#-win32 (deftest stat.4 (let* ((stat (sb-posix:stat (make-pathname :directory '(:absolute :up)))) (mode (sb-posix::stat-mode stat))) @@ -331,7 +336,6 @@ (sb-posix:s-isreg mode)) nil) -#-darwin (deftest stat-mode.2 (with-stat-mode (mode *test-directory*) (sb-posix:s-isdir mode)) @@ -358,7 +362,7 @@ (sb-posix:s-issock mode)) nil) -#-(or win32 darwin) +#-win32 (deftest stat-mode.7 (let ((link-pathname (make-pathname :name "stat-mode.7" :defaults *test-directory*))) @@ -370,7 +374,6 @@ (ignore-errors (sb-posix:unlink link-pathname)))) t) -#-darwin (deftest stat-mode.8 (let ((pathname (make-pathname :name "stat-mode.8" :defaults *test-directory*))) @@ -611,12 +614,12 @@ t) -#-(or darwin win32) +#-win32 (deftest time.1 (plusp (sb-posix:time)) t) -#-(or darwin win32) +#-win32 (deftest utimes.1 (let ((file (merge-pathnames #p"utimes.1" *test-directory*)) (atime (random (1- (expt 2 31)))) @@ -773,7 +776,7 @@ ;#-(or win32 sunos hpux) ;;;; mkdtemp is unimplemented on at least Solaris 10 -#-(or win32 hpux) +#-(or win32 hpux sunos) ;;; But it is implemented on OpenSolaris 2008.11 (deftest mkdtemp.1 (let ((pathname @@ -823,3 +826,31 @@ (values (integerp fd) (pathname-name pathname)) (delete-file temp))))) t "mkstemp-1") + +(deftest envstuff + (let ((name1 "ASLIFJLSDKFJKAHGSDKLJH") + (name2 "KJHFKLJDSHIUYHBSDNFCBH")) + (values (sb-posix:getenv name1) + (sb-posix:getenv name1) + (progn + (sb-posix:putenv (concatenate 'string name1 "=name1,test1")) + (sb-ext:gc :full t) + (sb-posix:getenv name1)) + (progn + (sb-posix:setenv name1 "name1,test2" 0) + (sb-ext:gc :full t) + (sb-posix:getenv name1)) + (progn + (sb-posix:setenv name2 "name2,test1" 0) + (sb-ext:gc :full t) + (sb-posix:getenv name2)) + (progn + (sb-posix:setenv name2 "name2,test2" 1) + (sb-ext:gc :full t) + (sb-posix:getenv name2)))) + nil + nil + "name1,test1" + "name1,test1" + "name2,test1" + "name2,test2")