Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
z
Classes
Class List
Class Hierarchy
Class Members
All
:
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
[
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Properties
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
grpc
third_party
libuv
test
test-error.c
Go to the documentation of this file.
1
/* Copyright Joyent, Inc. and other Node contributors. All rights reserved.
2
*
3
* Permission is hereby granted, free of charge, to any person obtaining a copy
4
* of this software and associated documentation files (the "Software"), to
5
* deal in the Software without restriction, including without limitation the
6
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
7
* sell copies of the Software, and to permit persons to whom the Software is
8
* furnished to do so, subject to the following conditions:
9
*
10
* The above copyright notice and this permission notice shall be included in
11
* all copies or substantial portions of the Software.
12
*
13
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
18
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
19
* IN THE SOFTWARE.
20
*/
21
22
#include "
uv.h
"
23
#include "
task.h
"
24
#if defined(_WIN32)
25
# include "../src/win/winapi.h"
26
#endif
27
28
#include <stdio.h>
29
#include <stdlib.h>
30
#include <
string.h
>
31
32
33
/*
34
* Synthetic errors (errors that originate from within libuv, not the system)
35
* should produce sensible error messages when run through uv_strerror().
36
*
37
* See https://github.com/joyent/libuv/issues/210
38
*/
39
TEST_IMPL
(error_message) {
40
char
buf
[32];
41
42
/* Cop out. Can't do proper checks on systems with
43
* i18n-ized error messages...
44
*/
45
if
(strcmp(
uv_strerror
(0),
"Success"
) != 0) {
46
printf
(
"i18n error messages detected, skipping test.\n"
);
47
return
0;
48
}
49
50
ASSERT
(strstr(
uv_strerror
(UV_EINVAL),
"Success"
) == NULL);
51
ASSERT
(strcmp(
uv_strerror
(1337),
"Unknown error"
) == 0);
52
ASSERT
(strcmp(
uv_strerror
(-1337),
"Unknown error"
) == 0);
53
54
ASSERT
(strstr(
uv_strerror_r
(UV_EINVAL,
buf
,
sizeof
(
buf
)),
"Success"
) == NULL);
55
ASSERT
(strstr(
uv_strerror_r
(1337,
buf
,
sizeof
(
buf
)),
"1337"
) != NULL);
56
ASSERT
(strstr(
uv_strerror_r
(-1337,
buf
,
sizeof
(
buf
)),
"-1337"
) != NULL);
57
58
return
0;
59
}
60
61
62
TEST_IMPL
(sys_error) {
63
#if defined(_WIN32)
64
ASSERT
(
uv_translate_sys_error
(ERROR_NOACCESS) == UV_EACCES);
65
ASSERT
(
uv_translate_sys_error
(
ERROR_ELEVATION_REQUIRED
) == UV_EACCES);
66
ASSERT
(
uv_translate_sys_error
(WSAEADDRINUSE) == UV_EADDRINUSE);
67
ASSERT
(
uv_translate_sys_error
(ERROR_BAD_PIPE) == UV_EPIPE);
68
#else
69
ASSERT
(
uv_translate_sys_error
(EPERM) == UV_EPERM);
70
ASSERT
(
uv_translate_sys_error
(EPIPE) == UV_EPIPE);
71
ASSERT
(
uv_translate_sys_error
(EINVAL) == UV_EINVAL);
72
#endif
73
ASSERT
(
uv_translate_sys_error
(UV_EINVAL) == UV_EINVAL);
74
ASSERT
(
uv_translate_sys_error
(UV_ERANGE) == UV_ERANGE);
75
ASSERT
(
uv_translate_sys_error
(UV_EACCES) == UV_EACCES);
76
ASSERT
(
uv_translate_sys_error
(0) == 0);
77
78
return
0;
79
}
uv_strerror_r
UV_EXTERN char * uv_strerror_r(int err, char *buf, size_t buflen)
Definition:
uv-common.c:201
task.h
TEST_IMPL
TEST_IMPL(error_message)
Definition:
test-error.c:39
string.h
buf
voidpf void * buf
Definition:
bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
printf
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
Definition:
cs_driver.c:91
ASSERT
#define ASSERT(expr)
Definition:
task.h:102
uv_strerror
const UV_EXTERN char * uv_strerror(int err)
Definition:
uv-common.c:212
uv_translate_sys_error
UV_EXTERN int uv_translate_sys_error(int sys_errno)
Definition:
unix/core.c:1244
uv.h
ERROR_ELEVATION_REQUIRED
#define ERROR_ELEVATION_REQUIRED
Definition:
winapi.h:4631
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:29