mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
[stdlib] Changes to support Foundation on OpenBSD.
* Not implementing POSIXError for a given platform is not a blocking problem to getting a successful build of Swift. However, it is part of the validation tests (albeit locked behind REQUIRES) and is referenced when building Foundation. Implement by forklifting from `sys/errno.h`. * Some Foundation class implementations require some missing includes in the platform modulemap. Add these.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// RUN: %target-run-simple-swift
|
||||
// REQUIRES: executable_test
|
||||
// REQUIRES: VENDOR=apple || OS=linux-androideabi || OS=linux-android || OS=linux-gnu
|
||||
// REQUIRES: VENDOR=apple || OS=linux-androideabi || OS=linux-android || OS=linux-gnu || OS=openbsd
|
||||
// UNSUPPORTED: freestanding
|
||||
|
||||
import Swift
|
||||
@@ -156,6 +156,107 @@ POSIXErrorCodeTestSuite.test("Linux POSIX error codes constants") {
|
||||
expectEqual(EOWNERDEAD, POSIXErrorCode.EOWNERDEAD.rawValue)
|
||||
expectEqual(ENOTRECOVERABLE, POSIXErrorCode.ENOTRECOVERABLE.rawValue)
|
||||
}
|
||||
#elseif os(OpenBSD)
|
||||
|
||||
POSIXErrorCodeTestSuite.test("OpenBSD POSIX error codes constants") {
|
||||
expectEqual(EPERM, POSIXErrorCode.EPERM.rawValue)
|
||||
expectEqual(ENOENT, POSIXErrorCode.ENOENT.rawValue)
|
||||
expectEqual(ESRCH, POSIXErrorCode.ESRCH.rawValue)
|
||||
expectEqual(EINTR, POSIXErrorCode.EINTR.rawValue)
|
||||
expectEqual(EIO, POSIXErrorCode.EIO.rawValue)
|
||||
expectEqual(ENXIO, POSIXErrorCode.ENXIO.rawValue)
|
||||
expectEqual(E2BIG, POSIXErrorCode.E2BIG.rawValue)
|
||||
expectEqual(ENOEXEC, POSIXErrorCode.ENOEXEC.rawValue)
|
||||
expectEqual(EBADF, POSIXErrorCode.EBADF.rawValue)
|
||||
expectEqual(ECHILD, POSIXErrorCode.ECHILD.rawValue)
|
||||
expectEqual(EDEADLK, POSIXErrorCode.EDEADLK.rawValue)
|
||||
expectEqual(ENOMEM, POSIXErrorCode.ENOMEM.rawValue)
|
||||
expectEqual(EACCES, POSIXErrorCode.EACCES.rawValue)
|
||||
expectEqual(EFAULT, POSIXErrorCode.EFAULT.rawValue)
|
||||
expectEqual(ENOTBLK, POSIXErrorCode.ENOTBLK.rawValue)
|
||||
expectEqual(EBUSY, POSIXErrorCode.EBUSY.rawValue)
|
||||
expectEqual(EEXIST, POSIXErrorCode.EEXIST.rawValue)
|
||||
expectEqual(EXDEV, POSIXErrorCode.EXDEV.rawValue)
|
||||
expectEqual(ENODEV, POSIXErrorCode.ENODEV.rawValue)
|
||||
expectEqual(ENOTDIR, POSIXErrorCode.ENOTDIR.rawValue)
|
||||
expectEqual(EISDIR, POSIXErrorCode.EISDIR.rawValue)
|
||||
expectEqual(EINVAL, POSIXErrorCode.EINVAL.rawValue)
|
||||
expectEqual(ENFILE, POSIXErrorCode.ENFILE.rawValue)
|
||||
expectEqual(EMFILE, POSIXErrorCode.EMFILE.rawValue)
|
||||
expectEqual(ENOTTY, POSIXErrorCode.ENOTTY.rawValue)
|
||||
expectEqual(ETXTBSY, POSIXErrorCode.ETXTBSY.rawValue)
|
||||
expectEqual(EFBIG, POSIXErrorCode.EFBIG.rawValue)
|
||||
expectEqual(ENOSPC, POSIXErrorCode.ENOSPC.rawValue)
|
||||
expectEqual(ESPIPE, POSIXErrorCode.ESPIPE.rawValue)
|
||||
expectEqual(EROFS, POSIXErrorCode.EROFS.rawValue)
|
||||
expectEqual(EMLINK, POSIXErrorCode.EMLINK.rawValue)
|
||||
expectEqual(EPIPE, POSIXErrorCode.EPIPE.rawValue)
|
||||
expectEqual(EDOM, POSIXErrorCode.EDOM.rawValue)
|
||||
expectEqual(ERANGE, POSIXErrorCode.ERANGE.rawValue)
|
||||
expectEqual(EAGAIN, POSIXErrorCode.EAGAIN.rawValue)
|
||||
expectEqual(EINPROGRESS, POSIXErrorCode.EINPROGRESS.rawValue)
|
||||
expectEqual(EALREADY, POSIXErrorCode.EALREADY.rawValue)
|
||||
expectEqual(ENOTSOCK, POSIXErrorCode.ENOTSOCK.rawValue)
|
||||
expectEqual(EDESTADDRREQ, POSIXErrorCode.EDESTADDRREQ.rawValue)
|
||||
expectEqual(EMSGSIZE, POSIXErrorCode.EMSGSIZE.rawValue)
|
||||
expectEqual(EPROTOTYPE, POSIXErrorCode.EPROTOTYPE.rawValue)
|
||||
expectEqual(ENOPROTOOPT, POSIXErrorCode.ENOPROTOOPT.rawValue)
|
||||
expectEqual(EPROTONOSUPPORT, POSIXErrorCode.EPROTONOSUPPORT.rawValue)
|
||||
expectEqual(ESOCKTNOSUPPORT, POSIXErrorCode.ESOCKTNOSUPPORT.rawValue)
|
||||
expectEqual(EOPNOTSUPP, POSIXErrorCode.EOPNOTSUPP.rawValue)
|
||||
expectEqual(EPFNOSUPPORT, POSIXErrorCode.EPFNOSUPPORT.rawValue)
|
||||
expectEqual(EAFNOSUPPORT, POSIXErrorCode.EAFNOSUPPORT.rawValue)
|
||||
expectEqual(EADDRINUSE, POSIXErrorCode.EADDRINUSE.rawValue)
|
||||
expectEqual(EADDRNOTAVAIL, POSIXErrorCode.EADDRNOTAVAIL.rawValue)
|
||||
expectEqual(ENETDOWN, POSIXErrorCode.ENETDOWN.rawValue)
|
||||
expectEqual(ENETUNREACH, POSIXErrorCode.ENETUNREACH.rawValue)
|
||||
expectEqual(ENETRESET, POSIXErrorCode.ENETRESET.rawValue)
|
||||
expectEqual(ECONNABORTED, POSIXErrorCode.ECONNABORTED.rawValue)
|
||||
expectEqual(ECONNRESET, POSIXErrorCode.ECONNRESET.rawValue)
|
||||
expectEqual(ENOBUFS, POSIXErrorCode.ENOBUFS.rawValue)
|
||||
expectEqual(EISCONN, POSIXErrorCode.EISCONN.rawValue)
|
||||
expectEqual(ENOTCONN, POSIXErrorCode.ENOTCONN.rawValue)
|
||||
expectEqual(ESHUTDOWN, POSIXErrorCode.ESHUTDOWN.rawValue)
|
||||
expectEqual(ETOOMANYREFS, POSIXErrorCode.ETOOMANYREFS.rawValue)
|
||||
expectEqual(ETIMEDOUT, POSIXErrorCode.ETIMEDOUT.rawValue)
|
||||
expectEqual(ECONNREFUSED, POSIXErrorCode.ECONNREFUSED.rawValue)
|
||||
expectEqual(ELOOP, POSIXErrorCode.ELOOP.rawValue)
|
||||
expectEqual(ENAMETOOLONG, POSIXErrorCode.ENAMETOOLONG.rawValue)
|
||||
expectEqual(EHOSTDOWN, POSIXErrorCode.EHOSTDOWN.rawValue)
|
||||
expectEqual(EHOSTUNREACH, POSIXErrorCode.EHOSTUNREACH.rawValue)
|
||||
expectEqual(ENOTEMPTY, POSIXErrorCode.ENOTEMPTY.rawValue)
|
||||
expectEqual(EPROCLIM, POSIXErrorCode.EPROCLIM.rawValue)
|
||||
expectEqual(EUSERS, POSIXErrorCode.EUSERS.rawValue)
|
||||
expectEqual(EDQUOT, POSIXErrorCode.EDQUOT.rawValue)
|
||||
expectEqual(ESTALE, POSIXErrorCode.ESTALE.rawValue)
|
||||
expectEqual(EREMOTE, POSIXErrorCode.EREMOTE.rawValue)
|
||||
expectEqual(EBADRPC, POSIXErrorCode.EBADRPC.rawValue)
|
||||
expectEqual(ERPCMISMATCH, POSIXErrorCode.ERPCMISMATCH.rawValue)
|
||||
expectEqual(EPROGUNAVAIL, POSIXErrorCode.EPROGUNAVAIL.rawValue)
|
||||
expectEqual(EPROGMISMATCH, POSIXErrorCode.EPROGMISMATCH.rawValue)
|
||||
expectEqual(EPROCUNAVAIL, POSIXErrorCode.EPROCUNAVAIL.rawValue)
|
||||
expectEqual(ENOLCK, POSIXErrorCode.ENOLCK.rawValue)
|
||||
expectEqual(ENOSYS, POSIXErrorCode.ENOSYS.rawValue)
|
||||
expectEqual(EFTYPE, POSIXErrorCode.EFTYPE.rawValue)
|
||||
expectEqual(EAUTH, POSIXErrorCode.EAUTH.rawValue)
|
||||
expectEqual(ENEEDAUTH, POSIXErrorCode.ENEEDAUTH.rawValue)
|
||||
expectEqual(EIPSEC, POSIXErrorCode.EIPSEC.rawValue)
|
||||
expectEqual(ENOATTR, POSIXErrorCode.ENOATTR.rawValue)
|
||||
expectEqual(EILSEQ, POSIXErrorCode.EILSEQ.rawValue)
|
||||
expectEqual(ENOMEDIUM, POSIXErrorCode.ENOMEDIUM.rawValue)
|
||||
expectEqual(EMEDIUMTYPE, POSIXErrorCode.EMEDIUMTYPE.rawValue)
|
||||
expectEqual(EOVERFLOW, POSIXErrorCode.EOVERFLOW.rawValue)
|
||||
expectEqual(ECANCELED, POSIXErrorCode.ECANCELED.rawValue)
|
||||
expectEqual(EIDRM, POSIXErrorCode.EIDRM.rawValue)
|
||||
expectEqual(ENOMSG, POSIXErrorCode.ENOMSG.rawValue)
|
||||
expectEqual(ENOTSUP, POSIXErrorCode.ENOTSUP.rawValue)
|
||||
expectEqual(EBADMSG, POSIXErrorCode.EBADMSG.rawValue)
|
||||
expectEqual(ENOTRECOVERABLE, POSIXErrorCode.ENOTRECOVERABLE.rawValue)
|
||||
expectEqual(EOWNERDEAD, POSIXErrorCode.EOWNERDEAD.rawValue)
|
||||
expectEqual(EPROTO, POSIXErrorCode.EPROTO.rawValue)
|
||||
|
||||
expectEqual(EWOULDBLOCK, POSIXErrorCode.EAGAIN.rawValue)
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user