3 :defsystem-depends-on (sb-grovel)
4 #+sb-building-contrib :pathname
5 #+sb-building-contrib #p"SYS:CONTRIB;SB-POSIX;"
6 :components ((:file "defpackage")
7 (:file "strtod" :depends-on ("defpackage"))
8 (:file "designator" :depends-on ("defpackage"))
9 (:file "macros" :depends-on ("designator"))
10 (:sb-grovel-constants-file "constants"
11 :package :sb-posix :depends-on ("defpackage"))
12 (:file "interface" :depends-on ("constants" "macros" "designator")))
13 :perform (load-op :after (o c) (provide 'sb-posix))
14 :perform (test-op (o c) (test-system 'sb-posix/tests)))
16 (defsystem sb-posix/tests
18 #+sb-building-contrib :pathname
19 #+sb-building-contrib #p"SYS:CONTRIB;SB-POSIX;"
20 :components ((:file "libc-tests")
21 (:file "posix-tests"))
24 (funcall (intern "DO-TESTS" (find-package "SB-RT")))
25 (let ((failures (funcall (intern "PENDING-TESTS" "SB-RT")))
26 (ignored-failures (loop for sym being the symbols of :sb-posix-tests
27 if (search ".ERROR" (symbol-name sym))
32 ((null (set-difference failures ignored-failures))
33 (warn "~@<some POSIX implementations return incorrect error values for ~
34 failing calls, but there is legitimate variation between ~
35 implementations too. If you think the errno ~
36 from your platform is valid, please contact the sbcl ~
37 developers; otherwise, please submit a bug report to your ~
38 kernel distributor~@:>")
41 (error "non-errno tests failed!"))))))