| // Copyright 2019 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include <stdint.h> |
| #include <zircon/status.h> |
| #include <zxtest/zxtest.h> |
| |
| namespace { |
| |
| TEST(StatusString, AllOfEm) { |
| EXPECT_STR_EQ(zx_status_get_string(ZX_OK), "ZX_OK"); // (0) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_INTERNAL), "ZX_ERR_INTERNAL"); // (-1) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_SUPPORTED), "ZX_ERR_NOT_SUPPORTED"); // (-2) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NO_RESOURCES), "ZX_ERR_NO_RESOURCES"); // (-3) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NO_MEMORY), "ZX_ERR_NO_MEMORY"); // (-4) |
| EXPECT_STR_EQ(zx_status_get_string(-5), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_INTERNAL_INTR_RETRY), |
| "ZX_ERR_INTERNAL_INTR_RETRY"); // (-6) |
| EXPECT_STR_EQ(zx_status_get_string(-7), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-8), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-9), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_INVALID_ARGS), "ZX_ERR_INVALID_ARGS"); // (-10) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_BAD_HANDLE), "ZX_ERR_BAD_HANDLE"); // (-11) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_WRONG_TYPE), "ZX_ERR_WRONG_TYPE"); // (-12) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_BAD_SYSCALL), "ZX_ERR_BAD_SYSCALL"); // (-13) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_OUT_OF_RANGE), "ZX_ERR_OUT_OF_RANGE"); // (-14) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_BUFFER_TOO_SMALL), |
| "ZX_ERR_BUFFER_TOO_SMALL"); // (-15) |
| EXPECT_STR_EQ(zx_status_get_string(-16), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-17), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-18), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-19), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_BAD_STATE), "ZX_ERR_BAD_STATE"); // (-20) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_TIMED_OUT), "ZX_ERR_TIMED_OUT"); // (-21) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_SHOULD_WAIT), "ZX_ERR_SHOULD_WAIT"); // (-22) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_CANCELED), "ZX_ERR_CANCELED"); // (-23) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_PEER_CLOSED), "ZX_ERR_PEER_CLOSED"); // (-24) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_FOUND), "ZX_ERR_NOT_FOUND"); // (-25) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ALREADY_EXISTS), "ZX_ERR_ALREADY_EXISTS"); // (-26) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ALREADY_BOUND), "ZX_ERR_ALREADY_BOUND"); // (-27) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_UNAVAILABLE), "ZX_ERR_UNAVAILABLE"); // (-28) |
| EXPECT_STR_EQ(zx_status_get_string(-29), "(UNKNOWN)"); // (-29) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ACCESS_DENIED), "ZX_ERR_ACCESS_DENIED"); // (-30) |
| EXPECT_STR_EQ(zx_status_get_string(-31), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-32), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-33), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-34), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-35), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-36), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-37), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-38), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-39), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO), "ZX_ERR_IO"); // (-40) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_REFUSED), "ZX_ERR_IO_REFUSED"); // (-41) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_DATA_INTEGRITY), |
| "ZX_ERR_IO_DATA_INTEGRITY"); // (-42) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_DATA_LOSS), "ZX_ERR_IO_DATA_LOSS"); // (-43) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_NOT_PRESENT), "ZX_ERR_IO_NOT_PRESENT"); // (-44) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_OVERRUN), "ZX_ERR_IO_OVERRUN"); // (-45) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_MISSED_DEADLINE), |
| "ZX_ERR_IO_MISSED_DEADLINE"); // (-46) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_IO_INVALID), "ZX_ERR_IO_INVALID"); // (-47) |
| EXPECT_STR_EQ(zx_status_get_string(-48), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-49), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_BAD_PATH), "ZX_ERR_BAD_PATH"); // (-50) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_DIR), "ZX_ERR_NOT_DIR"); // (-51) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_FILE), "ZX_ERR_NOT_FILE"); // (-52) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_FILE_BIG), "ZX_ERR_FILE_BIG"); // (-53) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NO_SPACE), "ZX_ERR_NO_SPACE"); // (-54) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_EMPTY), "ZX_ERR_NOT_EMPTY"); // (-55) |
| EXPECT_STR_EQ(zx_status_get_string(-56), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-57), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-58), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-59), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_STOP), "ZX_ERR_STOP"); // (-60) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NEXT), "ZX_ERR_NEXT"); // (-61) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ASYNC), "ZX_ERR_ASYNC"); // (-62) |
| EXPECT_STR_EQ(zx_status_get_string(-63), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-64), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-65), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-66), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-67), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-68), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(-69), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_PROTOCOL_NOT_SUPPORTED), |
| "ZX_ERR_PROTOCOL_NOT_SUPPORTED"); // (-70) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ADDRESS_UNREACHABLE), |
| "ZX_ERR_ADDRESS_UNREACHABLE"); // (-71) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_ADDRESS_IN_USE), "ZX_ERR_ADDRESS_IN_USE"); // (-72) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_NOT_CONNECTED), "ZX_ERR_NOT_CONNECTED"); // (-73) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_CONNECTION_REFUSED), |
| "ZX_ERR_CONNECTION_REFUSED"); // (-74) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_CONNECTION_RESET), |
| "ZX_ERR_CONNECTION_RESET"); // (-75) |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_CONNECTION_ABORTED), |
| "ZX_ERR_CONNECTION_ABORTED"); // (-76) |
| |
| // One past our current last-known should be unknown (note that all errors |
| // are negative, so -1, not +1). |
| ASSERT_NOT_NULL(zx_status_get_string(ZX_ERR_CONNECTION_ABORTED - 1)); |
| EXPECT_STR_EQ(zx_status_get_string(ZX_ERR_CONNECTION_ABORTED - 1), "(UNKNOWN)"); |
| |
| EXPECT_STR_EQ(zx_status_get_string(INT32_MIN), "(UNKNOWN)"); |
| EXPECT_STR_EQ(zx_status_get_string(INT32_MAX), "(UNKNOWN)"); |
| } |
| |
| } // namespace |