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