| /* Unit tests for gioerror | |
| * GIO - GLib Input, Output and Streaming Library | |
| * | |
| * Copyright (C) 2022 Marco Trevisan | |
| * | |
| * SPDX-License-Identifier: LGPL-2.1-or-later | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General | |
| * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. | |
| * | |
| * Author: Marco Trevisan <marco.trevisan@canonical.com> | |
| */ | |
| #include "config.h" | |
| #include <errno.h> | |
| #include <gio/gio.h> | |
| #ifdef G_OS_WIN32 | |
| #include <winsock2.h> | |
| #endif | |
| /* We are testing some deprecated APIs here */ | |
| #ifndef GLIB_DISABLE_DEPRECATION_WARNINGS | |
| #define GLIB_DISABLE_DEPRECATION_WARNINGS | |
| #endif | |
| static void | |
| test_error_from_errno (void) | |
| { | |
| g_assert_cmpint (g_io_error_from_errno (-1), ==, G_IO_ERROR_FAILED); | |
| #ifdef EEXIST | |
| g_assert_cmpint (g_io_error_from_errno (EEXIST), ==, | |
| G_IO_ERROR_EXISTS); | |
| #endif | |
| #ifdef EISDIR | |
| g_assert_cmpint (g_io_error_from_errno (EISDIR), ==, | |
| G_IO_ERROR_IS_DIRECTORY); | |
| #endif | |
| #ifdef EACCES | |
| g_assert_cmpint (g_io_error_from_errno (EACCES), ==, | |
| G_IO_ERROR_PERMISSION_DENIED); | |
| #endif | |
| #ifdef ENAMETOOLONG | |
| g_assert_cmpint (g_io_error_from_errno (ENAMETOOLONG), ==, | |
| G_IO_ERROR_FILENAME_TOO_LONG); | |
| #endif | |
| #ifdef ENOENT | |
| g_assert_cmpint (g_io_error_from_errno (ENOENT), ==, | |
| G_IO_ERROR_NOT_FOUND); | |
| #endif | |
| #ifdef ENOTDIR | |
| g_assert_cmpint (g_io_error_from_errno (ENOTDIR), ==, | |
| G_IO_ERROR_NOT_DIRECTORY); | |
| #endif | |
| #ifdef ENXIO | |
| g_assert_cmpint (g_io_error_from_errno (ENXIO), ==, | |
| G_IO_ERROR_NOT_REGULAR_FILE); | |
| #endif | |
| #ifdef EROFS | |
| g_assert_cmpint (g_io_error_from_errno (EROFS), ==, | |
| G_IO_ERROR_READ_ONLY); | |
| #endif | |
| #ifdef ELOOP | |
| g_assert_cmpint (g_io_error_from_errno (ELOOP), ==, | |
| G_IO_ERROR_TOO_MANY_LINKS); | |
| #endif | |
| #ifdef EMLINK | |
| g_assert_cmpint (g_io_error_from_errno (EMLINK), ==, | |
| G_IO_ERROR_TOO_MANY_LINKS); | |
| #endif | |
| #ifdef ENOSPC | |
| g_assert_cmpint (g_io_error_from_errno (ENOSPC), ==, | |
| G_IO_ERROR_NO_SPACE); | |
| #endif | |
| #ifdef ENOMEM | |
| g_assert_cmpint (g_io_error_from_errno (ENOMEM), ==, | |
| G_IO_ERROR_NO_SPACE); | |
| #endif | |
| #ifdef EINVAL | |
| g_assert_cmpint (g_io_error_from_errno (EINVAL), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| #endif | |
| #ifdef EPERM | |
| g_assert_cmpint (g_io_error_from_errno (EPERM), ==, | |
| G_IO_ERROR_PERMISSION_DENIED); | |
| #endif | |
| #ifdef ECANCELED | |
| g_assert_cmpint (g_io_error_from_errno (ECANCELED), ==, | |
| G_IO_ERROR_CANCELLED); | |
| #endif | |
| #ifdef ENOTEMPTY | |
| g_assert_cmpint (g_io_error_from_errno (ENOTEMPTY), ==, | |
| G_IO_ERROR_NOT_EMPTY); | |
| #endif | |
| #ifdef ENOTSUP | |
| g_assert_cmpint (g_io_error_from_errno (ENOTSUP), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef EOPNOTSUPP | |
| g_assert_cmpint (g_io_error_from_errno (EOPNOTSUPP), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef EPROTONOSUPPORT | |
| g_assert_cmpint (g_io_error_from_errno (EPROTONOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef ESOCKTNOSUPPORT | |
| g_assert_cmpint (g_io_error_from_errno (ESOCKTNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef EPFNOSUPPORT | |
| g_assert_cmpint (g_io_error_from_errno (EPFNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef EAFNOSUPPORT | |
| g_assert_cmpint (g_io_error_from_errno (EAFNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef ETIMEDOUT | |
| g_assert_cmpint (g_io_error_from_errno (ETIMEDOUT), ==, | |
| G_IO_ERROR_TIMED_OUT); | |
| #endif | |
| #ifdef EBUSY | |
| g_assert_cmpint (g_io_error_from_errno (EBUSY), ==, | |
| G_IO_ERROR_BUSY); | |
| #endif | |
| #ifdef EWOULDBLOCK | |
| g_assert_cmpint (g_io_error_from_errno (EWOULDBLOCK), ==, | |
| G_IO_ERROR_WOULD_BLOCK); | |
| #endif | |
| #ifdef EAGAIN | |
| g_assert_cmpint (g_io_error_from_errno (EAGAIN), ==, | |
| G_IO_ERROR_WOULD_BLOCK); | |
| #endif | |
| #ifdef EMFILE | |
| g_assert_cmpint (g_io_error_from_errno (EMFILE), ==, | |
| G_IO_ERROR_TOO_MANY_OPEN_FILES); | |
| #endif | |
| #ifdef EADDRINUSE | |
| g_assert_cmpint (g_io_error_from_errno (EADDRINUSE), ==, | |
| G_IO_ERROR_ADDRESS_IN_USE); | |
| #endif | |
| #ifdef EHOSTUNREACH | |
| g_assert_cmpint (g_io_error_from_errno (EHOSTUNREACH), ==, | |
| G_IO_ERROR_HOST_UNREACHABLE); | |
| #endif | |
| #ifdef ENETUNREACH | |
| g_assert_cmpint (g_io_error_from_errno (ENETUNREACH), ==, | |
| G_IO_ERROR_NETWORK_UNREACHABLE); | |
| #endif | |
| #ifdef ECONNREFUSED | |
| g_assert_cmpint (g_io_error_from_errno (ECONNREFUSED), ==, | |
| G_IO_ERROR_CONNECTION_REFUSED); | |
| #endif | |
| #ifdef EPIPE | |
| g_assert_cmpint (g_io_error_from_errno (EPIPE), ==, | |
| G_IO_ERROR_BROKEN_PIPE); | |
| #endif | |
| #ifdef ECONNRESET | |
| g_assert_cmpint (g_io_error_from_errno (ECONNRESET), ==, | |
| G_IO_ERROR_CONNECTION_CLOSED); | |
| #endif | |
| #ifdef ENOTCONN | |
| g_assert_cmpint (g_io_error_from_errno (ENOTCONN), ==, | |
| G_IO_ERROR_NOT_CONNECTED); | |
| #endif | |
| #ifdef EMSGSIZE | |
| g_assert_cmpint (g_io_error_from_errno (EMSGSIZE), ==, | |
| G_IO_ERROR_MESSAGE_TOO_LARGE); | |
| #endif | |
| #ifdef ENOTSOCK | |
| g_assert_cmpint (g_io_error_from_errno (ENOTSOCK), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| #endif | |
| #ifdef ESRCH | |
| g_assert_cmpint (g_io_error_from_errno (ESRCH), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EINTR | |
| g_assert_cmpint (g_io_error_from_errno (EINTR), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EIO | |
| g_assert_cmpint (g_io_error_from_errno (EIO), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef E2BIG | |
| g_assert_cmpint (g_io_error_from_errno (E2BIG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOEXEC | |
| g_assert_cmpint (g_io_error_from_errno (ENOEXEC), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADF | |
| g_assert_cmpint (g_io_error_from_errno (EBADF), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ECHILD | |
| g_assert_cmpint (g_io_error_from_errno (ECHILD), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EFAULT | |
| g_assert_cmpint (g_io_error_from_errno (EFAULT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOTBLK | |
| g_assert_cmpint (g_io_error_from_errno (ENOTBLK), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EXDEV | |
| g_assert_cmpint (g_io_error_from_errno (EXDEV), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENODEV | |
| g_assert_cmpint (g_io_error_from_errno (ENODEV), ==, | |
| G_IO_ERROR_NO_SUCH_DEVICE); | |
| #endif | |
| #ifdef ENFILE | |
| g_assert_cmpint (g_io_error_from_errno (ENFILE), ==, | |
| G_IO_ERROR_TOO_MANY_OPEN_FILES); | |
| #endif | |
| #ifdef ENOTTY | |
| g_assert_cmpint (g_io_error_from_errno (ENOTTY), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ETXTBSY | |
| g_assert_cmpint (g_io_error_from_errno (ETXTBSY), ==, | |
| G_IO_ERROR_BUSY); | |
| #endif | |
| #ifdef EFBIG | |
| g_assert_cmpint (g_io_error_from_errno (EFBIG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ESPIPE | |
| g_assert_cmpint (g_io_error_from_errno (ESPIPE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDOM | |
| g_assert_cmpint (g_io_error_from_errno (EDOM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ERANGE | |
| g_assert_cmpint (g_io_error_from_errno (ERANGE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDEADLK | |
| g_assert_cmpuint (g_io_error_from_errno (EDEADLK), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOLCK | |
| g_assert_cmpuint (g_io_error_from_errno (ENOLCK), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOSYS | |
| g_assert_cmpuint (g_io_error_from_errno (ENOSYS), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| #endif | |
| #ifdef ENOMSG | |
| g_assert_cmpuint (g_io_error_from_errno (ENOMSG), ==, | |
| G_IO_ERROR_INVALID_DATA); | |
| #endif | |
| #ifdef EIDRM | |
| g_assert_cmpuint (g_io_error_from_errno (EIDRM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ECHRNG | |
| g_assert_cmpuint (g_io_error_from_errno (ECHRNG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EL2NSYNC | |
| g_assert_cmpuint (g_io_error_from_errno (EL2NSYNC), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EL3HLT | |
| g_assert_cmpuint (g_io_error_from_errno (EL3HLT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EL3RST | |
| g_assert_cmpuint (g_io_error_from_errno (EL3RST), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELNRNG | |
| g_assert_cmpuint (g_io_error_from_errno (ELNRNG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EUNATCH | |
| g_assert_cmpuint (g_io_error_from_errno (EUNATCH), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOCSI | |
| g_assert_cmpuint (g_io_error_from_errno (ENOCSI), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EL2HLT | |
| g_assert_cmpuint (g_io_error_from_errno (EL2HLT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADE | |
| g_assert_cmpuint (g_io_error_from_errno (EBADE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADR | |
| g_assert_cmpuint (g_io_error_from_errno (EBADR), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EXFULL | |
| g_assert_cmpuint (g_io_error_from_errno (EXFULL), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOANO | |
| g_assert_cmpuint (g_io_error_from_errno (ENOANO), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADRQC | |
| g_assert_cmpuint (g_io_error_from_errno (EBADRQC), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADSLT | |
| g_assert_cmpuint (g_io_error_from_errno (EBADSLT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDEADLOCK | |
| g_assert_cmpuint (g_io_error_from_errno (EDEADLOCK), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBFONT | |
| g_assert_cmpuint (g_io_error_from_errno (EBFONT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOSTR | |
| g_assert_cmpuint (g_io_error_from_errno (ENOSTR), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENODATA | |
| g_assert_cmpuint (g_io_error_from_errno (ENODATA), ==, | |
| G_IO_ERROR_INVALID_DATA); | |
| #endif | |
| #ifdef ETIME | |
| g_assert_cmpuint (g_io_error_from_errno (ETIME), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOSR | |
| g_assert_cmpuint (g_io_error_from_errno (ENOSR), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENONET | |
| g_assert_cmpuint (g_io_error_from_errno (ENONET), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOPKG | |
| g_assert_cmpuint (g_io_error_from_errno (ENOPKG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EREMOTE | |
| g_assert_cmpuint (g_io_error_from_errno (EREMOTE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOLINK | |
| g_assert_cmpuint (g_io_error_from_errno (ENOLINK), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EADV | |
| g_assert_cmpuint (g_io_error_from_errno (EADV), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ESRMNT | |
| g_assert_cmpuint (g_io_error_from_errno (ESRMNT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ECOMM | |
| g_assert_cmpuint (g_io_error_from_errno (ECOMM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EPROTO | |
| g_assert_cmpuint (g_io_error_from_errno (EPROTO), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EMULTIHOP | |
| g_assert_cmpuint (g_io_error_from_errno (EMULTIHOP), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDOTDOT | |
| g_assert_cmpuint (g_io_error_from_errno (EDOTDOT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADMSG | |
| g_assert_cmpuint (g_io_error_from_errno (EBADMSG), ==, | |
| G_IO_ERROR_INVALID_DATA); | |
| #endif | |
| #ifdef EOVERFLOW | |
| g_assert_cmpuint (g_io_error_from_errno (EOVERFLOW), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOTUNIQ | |
| g_assert_cmpuint (g_io_error_from_errno (ENOTUNIQ), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EBADFD | |
| g_assert_cmpuint (g_io_error_from_errno (EBADFD), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EREMCHG | |
| g_assert_cmpuint (g_io_error_from_errno (EREMCHG), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELIBACC | |
| g_assert_cmpuint (g_io_error_from_errno (ELIBACC), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELIBBAD | |
| g_assert_cmpuint (g_io_error_from_errno (ELIBBAD), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELIBSCN | |
| g_assert_cmpuint (g_io_error_from_errno (ELIBSCN), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELIBMAX | |
| g_assert_cmpuint (g_io_error_from_errno (ELIBMAX), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ELIBEXEC | |
| g_assert_cmpuint (g_io_error_from_errno (ELIBEXEC), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EILSEQ | |
| g_assert_cmpuint (g_io_error_from_errno (EILSEQ), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ERESTART | |
| g_assert_cmpuint (g_io_error_from_errno (ERESTART), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ESTRPIPE | |
| g_assert_cmpuint (g_io_error_from_errno (ESTRPIPE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EUSERS | |
| g_assert_cmpuint (g_io_error_from_errno (EUSERS), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDESTADDRREQ | |
| g_assert_cmpuint (g_io_error_from_errno (EDESTADDRREQ), ==, | |
| G_IO_ERROR_DESTINATION_UNSET); | |
| #endif | |
| #ifdef EPROTOTYPE | |
| g_assert_cmpuint (g_io_error_from_errno (EPROTOTYPE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOPROTOOPT | |
| g_assert_cmpuint (g_io_error_from_errno (ENOPROTOOPT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EADDRNOTAVAIL | |
| g_assert_cmpuint (g_io_error_from_errno (EADDRNOTAVAIL), ==, | |
| G_IO_ERROR_CONNECTION_REFUSED); | |
| #endif | |
| #ifdef ENETDOWN | |
| g_assert_cmpuint (g_io_error_from_errno (ENETDOWN), ==, | |
| G_IO_ERROR_NETWORK_UNREACHABLE); | |
| #endif | |
| #ifdef ECONNABORTED | |
| g_assert_cmpuint (g_io_error_from_errno (ECONNABORTED), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOBUFS | |
| g_assert_cmpuint (g_io_error_from_errno (ENOBUFS), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EISCONN | |
| g_assert_cmpuint (g_io_error_from_errno (EISCONN), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ESHUTDOWN | |
| g_assert_cmpuint (g_io_error_from_errno (ESHUTDOWN), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ETOOMANYREFS | |
| g_assert_cmpuint (g_io_error_from_errno (ETOOMANYREFS), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EHOSTDOWN | |
| g_assert_cmpuint (g_io_error_from_errno (EHOSTDOWN), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EALREADY | |
| g_assert_cmpuint (g_io_error_from_errno (EALREADY), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EINPROGRESS | |
| g_assert_cmpuint (g_io_error_from_errno (EINPROGRESS), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ESTALE | |
| g_assert_cmpuint (g_io_error_from_errno (ESTALE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EUCLEAN | |
| g_assert_cmpuint (g_io_error_from_errno (EUCLEAN), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOTNAM | |
| g_assert_cmpuint (g_io_error_from_errno (ENOTNAM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENAVAIL | |
| g_assert_cmpuint (g_io_error_from_errno (ENAVAIL), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EISNAM | |
| g_assert_cmpuint (g_io_error_from_errno (EISNAM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EREMOTEIO | |
| g_assert_cmpuint (g_io_error_from_errno (EREMOTEIO), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EDQUOT | |
| g_assert_cmpuint (g_io_error_from_errno (EDQUOT), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOMEDIUM | |
| g_assert_cmpuint (g_io_error_from_errno (ENOMEDIUM), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EMEDIUMTYPE | |
| g_assert_cmpuint (g_io_error_from_errno (EMEDIUMTYPE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOKEY | |
| g_assert_cmpuint (g_io_error_from_errno (ENOKEY), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EKEYEXPIRED | |
| g_assert_cmpuint (g_io_error_from_errno (EKEYEXPIRED), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EKEYREVOKED | |
| g_assert_cmpuint (g_io_error_from_errno (EKEYREVOKED), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EKEYREJECTED | |
| g_assert_cmpuint (g_io_error_from_errno (EKEYREJECTED), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EOWNERDEAD | |
| g_assert_cmpuint (g_io_error_from_errno (EOWNERDEAD), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ENOTRECOVERABLE | |
| g_assert_cmpuint (g_io_error_from_errno (ENOTRECOVERABLE), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef ERFKILL | |
| g_assert_cmpuint (g_io_error_from_errno (ERFKILL), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| #ifdef EHWPOISON | |
| g_assert_cmpuint (g_io_error_from_errno (EHWPOISON), ==, | |
| G_IO_ERROR_FAILED); | |
| #endif | |
| } | |
| static void | |
| test_error_from_file_error (void) | |
| { | |
| g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, | |
| "*should not be reached*"); | |
| g_assert_cmpuint (g_io_error_from_file_error (-1), ==, | |
| G_IO_ERROR_FAILED); | |
| g_test_assert_expected_messages (); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_EXIST), ==, | |
| G_IO_ERROR_EXISTS); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_ISDIR), ==, | |
| G_IO_ERROR_IS_DIRECTORY); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_ACCES), ==, | |
| G_IO_ERROR_PERMISSION_DENIED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NAMETOOLONG), ==, | |
| G_IO_ERROR_FILENAME_TOO_LONG); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NOENT), ==, | |
| G_IO_ERROR_NOT_FOUND); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NOTDIR), ==, | |
| G_IO_ERROR_NOT_DIRECTORY); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NXIO), ==, | |
| G_IO_ERROR_NOT_REGULAR_FILE); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NODEV), ==, | |
| G_IO_ERROR_NO_SUCH_DEVICE); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_ROFS), ==, | |
| G_IO_ERROR_READ_ONLY); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_TXTBSY), ==, | |
| G_IO_ERROR_BUSY); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_LOOP), ==, | |
| G_IO_ERROR_TOO_MANY_LINKS); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NOSPC), ==, | |
| G_IO_ERROR_NO_SPACE); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NOMEM), ==, | |
| G_IO_ERROR_NO_SPACE); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_MFILE), ==, | |
| G_IO_ERROR_TOO_MANY_OPEN_FILES); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NFILE), ==, | |
| G_IO_ERROR_TOO_MANY_OPEN_FILES); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_INVAL), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_PIPE), ==, | |
| G_IO_ERROR_BROKEN_PIPE); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_AGAIN), ==, | |
| G_IO_ERROR_WOULD_BLOCK); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_PERM), ==, | |
| G_IO_ERROR_PERMISSION_DENIED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_NOSYS), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_BADF), ==, | |
| G_IO_ERROR_FAILED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_FAILED), ==, | |
| G_IO_ERROR_FAILED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_FAULT), ==, | |
| G_IO_ERROR_FAILED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_INTR), ==, | |
| G_IO_ERROR_FAILED); | |
| g_assert_cmpuint (g_io_error_from_file_error (G_FILE_ERROR_IO), ==, | |
| G_IO_ERROR_FAILED); | |
| } | |
| static void | |
| test_error_from_win32_error (void) | |
| { | |
| #ifdef G_OS_WIN32 | |
| g_assert_cmpint (g_io_error_from_win32_error (-1), ==, G_IO_ERROR_FAILED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEADDRINUSE), ==, | |
| G_IO_ERROR_ADDRESS_IN_USE); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEWOULDBLOCK), ==, | |
| G_IO_ERROR_WOULD_BLOCK); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEACCES), ==, | |
| G_IO_ERROR_PERMISSION_DENIED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSA_INVALID_HANDLE), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSA_INVALID_PARAMETER), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEINVAL), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEBADF), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAENOTSOCK), ==, | |
| G_IO_ERROR_INVALID_ARGUMENT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEPROTONOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAECANCELLED), ==, | |
| G_IO_ERROR_CANCELLED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAESOCKTNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEOPNOTSUPP), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEPFNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEAFNOSUPPORT), ==, | |
| G_IO_ERROR_NOT_SUPPORTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAECONNRESET), ==, | |
| G_IO_ERROR_CONNECTION_CLOSED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAENETRESET), ==, | |
| G_IO_ERROR_CONNECTION_CLOSED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAESHUTDOWN), ==, | |
| G_IO_ERROR_CONNECTION_CLOSED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEHOSTUNREACH), ==, | |
| G_IO_ERROR_HOST_UNREACHABLE); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAENETUNREACH), ==, | |
| G_IO_ERROR_NETWORK_UNREACHABLE); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAECONNREFUSED), ==, | |
| G_IO_ERROR_CONNECTION_REFUSED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAETIMEDOUT), ==, | |
| G_IO_ERROR_TIMED_OUT); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAENOTCONN), ==, | |
| G_IO_ERROR_NOT_CONNECTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (ERROR_PIPE_LISTENING), ==, | |
| G_IO_ERROR_NOT_CONNECTED); | |
| g_assert_cmpint (g_io_error_from_win32_error (WSAEMSGSIZE), ==, | |
| G_IO_ERROR_MESSAGE_TOO_LARGE); | |
| #else | |
| g_test_skip ("Windows error codes can only be checked on Windows"); | |
| #endif /* G_OS_WIN32 */ | |
| } | |
| int | |
| main (int argc, | |
| char *argv[]) | |
| { | |
| g_setenv ("LC_ALL", "C", TRUE); | |
| g_test_init (&argc, &argv, G_TEST_OPTION_ISOLATE_DIRS, NULL); | |
| g_test_add_func ("/error/from-errno", test_error_from_errno); | |
| g_test_add_func ("/error/from-file-error", test_error_from_file_error); | |
| g_test_add_func ("/error/from-win32-error", test_error_from_win32_error); | |
| return g_test_run (); | |
| } |