X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fsb-posix%2Fposix-tests.lisp;h=9739323cc3789297b7f60fae302cd0de0e27a8e5;hb=2936871808ba75ff33a6c199c23985373e5735ac;hp=bbd6dd5029519e601971073e486bbe2215ef7734;hpb=cfc48ce6a2013804d35217f2b4f93f290ea8465b;p=sbcl.git diff --git a/contrib/sb-posix/posix-tests.lisp b/contrib/sb-posix/posix-tests.lisp index bbd6dd5..9739323 100644 --- a/contrib/sb-posix/posix-tests.lisp +++ b/contrib/sb-posix/posix-tests.lisp @@ -415,14 +415,14 @@ #+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) @@ -515,6 +515,7 @@ (sb-posix:closedir dir))) t) +#-darwin (deftest readdir/dirent-name (let ((dir (sb-posix:opendir *current-directory*))) (unwind-protect @@ -767,8 +768,10 @@ (delete-file temp)))) t "mkstemp-1") -#-(or win32 sunos hpux) -;;; mkdtemp is unimplemented on at least Solaris 10 +;#-(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 @@ -817,3 +820,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")