Macros | Enumerations | Functions
task.h File Reference
#include "uv.h"
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <inttypes.h>
#include <stdint.h>
#include <sys/time.h>
#include <sys/resource.h>
Include dependency graph for task.h:

Go to the source code of this file.

Macros

#define ARRAY_SIZE(a)   (sizeof(a) / sizeof((a)[0]))
 
#define ASSERT(expr)
 
#define ASSERT_BASE(expr, a, operator, b, type, conv)
 
#define ASSERT_BASE_HEX(expr, a, operator, b, size)
 
#define ASSERT_BASE_LEN(expr, a, operator, b, conv, len)
 
#define ASSERT_EQ(a, b)   ASSERT_INT_BASE(a, ==, b, int64_t, PRId64)
 
#define ASSERT_GE(a, b)   ASSERT_INT_BASE(a, >=, b, int64_t, PRId64)
 
#define ASSERT_GT(a, b)   ASSERT_INT_BASE(a, >, b, int64_t, PRId64)
 
#define ASSERT_INT_BASE(a, operator, b, type, conv)   ASSERT_BASE(a operator b, a, operator, b, type, conv)
 
#define ASSERT_LE(a, b)   ASSERT_INT_BASE(a, <=, b, int64_t, PRId64)
 
#define ASSERT_LT(a, b)   ASSERT_INT_BASE(a, <, b, int64_t, PRId64)
 
#define ASSERT_MEM_EQ(a, b, size)   ASSERT_BASE_LEN(memcmp(a, b, size) == 0, a, ==, b, s, size)
 
#define ASSERT_MEM_HEX_EQ(a, b, size)   ASSERT_BASE_HEX(memcmp(a, b, size) == 0, a, ==, b, size)
 
#define ASSERT_MEM_HEX_NE(a, b, size)   ASSERT_BASE_HEX(memcmp(a, b, size) != 0, a, !=, b, size)
 
#define ASSERT_MEM_NE(a, b, size)   ASSERT_BASE_LEN(memcmp(a, b, size) != 0, a, !=, b, s, size)
 
#define ASSERT_NE(a, b)   ASSERT_INT_BASE(a, !=, b, int64_t, PRId64)
 
#define ASSERT_NOT_NULL(a)   ASSERT_BASE(a != NULL, a, !=, NULL, void*, "p")
 
#define ASSERT_NULL(a)   ASSERT_BASE(a == NULL, a, ==, NULL, void*, "p")
 
#define ASSERT_PTR_EQ(a, b)   ASSERT_BASE((void*)a == (void*)b, a, ==, b, void*, "p")
 
#define ASSERT_PTR_NE(a, b)   ASSERT_BASE((void*)a != (void*)b, a, !=, b, void*, "p")
 
#define ASSERT_STR_EQ(a, b)   ASSERT_BASE(strcmp(a, b) == 0, a, ==, b, char*, "s")
 
#define ASSERT_STR_NE(a, b)   ASSERT_BASE(strcmp(a, b) != 0, a, !=, b, char*, "s")
 
#define ASSERT_UINT64_EQ(a, b)   ASSERT_INT_BASE(a, ==, b, uint64_t, PRIu64)
 
#define ASSERT_UINT64_GE(a, b)   ASSERT_INT_BASE(a, >=, b, uint64_t, PRIu64)
 
#define ASSERT_UINT64_GT(a, b)   ASSERT_INT_BASE(a, >, b, uint64_t, PRIu64)
 
#define ASSERT_UINT64_LE(a, b)   ASSERT_INT_BASE(a, <=, b, uint64_t, PRIu64)
 
#define ASSERT_UINT64_LT(a, b)   ASSERT_INT_BASE(a, <, b, uint64_t, PRIu64)
 
#define ASSERT_UINT64_NE(a, b)   ASSERT_INT_BASE(a, !=, b, uint64_t, PRIu64)
 
#define BENCHMARK_IMPL(name)
 
#define container_of(ptr, type, member)   ((type *) ((char *) (ptr) - offsetof(type, member)))
 
#define FATAL(msg)
 
#define HELPER_IMPL(name)
 
#define MAKE_VALGRIND_HAPPY()
 
#define RETURN_OK()
 
#define RETURN_SKIP(explanation)
 
#define TEST_FILE_LIMIT(num)
 
#define TEST_IMPL(name)
 
#define TEST_PIPENAME   "/tmp/uv-test-sock"
 
#define TEST_PIPENAME_2   "/tmp/uv-test-sock2"
 
#define TEST_PIPENAME_3   "/tmp/uv-test-sock3"
 
#define TEST_PORT   9123
 
#define TEST_PORT_2   9124
 
#define UNUSED
 

Enumerations

enum  stream_type { TCP = 0, UDP, PIPE }
 
enum  test_status { TEST_OK = 0, TEST_SKIP }
 

Functions

static UNUSED int can_ipv6 (void)
 
static UNUSED void close_loop (uv_loop_t *loop)
 
static void close_walk_cb (uv_handle_t *handle, void *arg)
 
const char * fmt (double d)
 
void notify_parent_process (void)
 

Macro Definition Documentation

◆ ARRAY_SIZE

#define ARRAY_SIZE (   a)    (sizeof(a) / sizeof((a)[0]))

Definition at line 76 of file task.h.

◆ ASSERT

#define ASSERT (   expr)
Value:
do { \
if (!(expr)) { \
fprintf(stderr, \
"Assertion failed in %s on line %d: %s\n", \
__FILE__, \
__LINE__, \
#expr); \
abort(); \
} \
} while (0)

Definition at line 102 of file task.h.

◆ ASSERT_BASE

#define ASSERT_BASE (   expr,
  a,
  operator,
  b,
  type,
  conv 
)
Value:
do { \
if (!(expr)) { \
fprintf(stderr, \
"Assertion failed in %s on line %d: `%s %s %s` " \
"(%"conv" %s %"conv")\n", \
__FILE__, \
__LINE__, \
#a, \
#operator, \
#b, \
(type)a, \
#operator, \
(type)b); \
abort(); \
} \
} while (0)

Definition at line 114 of file task.h.

◆ ASSERT_BASE_HEX

#define ASSERT_BASE_HEX (   expr,
  a,
  operator,
  b,
  size 
)
Value:
do { \
if (!(expr)) { \
int i; \
unsigned char* a_ = (unsigned char*)a; \
unsigned char* b_ = (unsigned char*)b; \
fprintf(stderr, \
"Assertion failed in %s on line %d: `%s %s %s` (", \
__FILE__, \
__LINE__, \
#a, \
#operator, \
#b); \
for (i = 0; i < size; ++i) { \
if (i > 0) fprintf(stderr, ":"); \
fprintf(stderr, "%02X", a_[i]); \
} \
fprintf(stderr, " %s ", #operator); \
for (i = 0; i < size; ++i) { \
if (i > 0) fprintf(stderr, ":"); \
fprintf(stderr, "%02X", b_[i]); \
} \
fprintf(stderr, ")\n"); \
abort(); \
} \
} while (0)

Definition at line 152 of file task.h.

◆ ASSERT_BASE_LEN

#define ASSERT_BASE_LEN (   expr,
  a,
  operator,
  b,
  conv,
  len 
)
Value:
do { \
if (!(expr)) { \
fprintf(stderr, \
"Assertion failed in %s on line %d: `%s %s %s` " \
"(%.*"#conv" %s %.*"#conv")\n", \
__FILE__, \
__LINE__, \
#a, \
#operator, \
#b, \
(int)len, \
a, \
#operator, \
(int)len, \
b); \
abort(); \
} \
} while (0)

Definition at line 132 of file task.h.

◆ ASSERT_EQ

#define ASSERT_EQ (   a,
  b 
)    ASSERT_INT_BASE(a, ==, b, int64_t, PRId64)

Definition at line 182 of file task.h.

◆ ASSERT_GE

#define ASSERT_GE (   a,
  b 
)    ASSERT_INT_BASE(a, >=, b, int64_t, PRId64)

Definition at line 183 of file task.h.

◆ ASSERT_GT

#define ASSERT_GT (   a,
  b 
)    ASSERT_INT_BASE(a, >, b, int64_t, PRId64)

Definition at line 184 of file task.h.

◆ ASSERT_INT_BASE

#define ASSERT_INT_BASE (   a,
  operator,
  b,
  type,
  conv 
)    ASSERT_BASE(a operator b, a, operator, b, type, conv)

Definition at line 179 of file task.h.

◆ ASSERT_LE

#define ASSERT_LE (   a,
  b 
)    ASSERT_INT_BASE(a, <=, b, int64_t, PRId64)

Definition at line 185 of file task.h.

◆ ASSERT_LT

#define ASSERT_LT (   a,
  b 
)    ASSERT_INT_BASE(a, <, b, int64_t, PRId64)

Definition at line 186 of file task.h.

◆ ASSERT_MEM_EQ

#define ASSERT_MEM_EQ (   a,
  b,
  size 
)    ASSERT_BASE_LEN(memcmp(a, b, size) == 0, a, ==, b, s, size)

Definition at line 202 of file task.h.

◆ ASSERT_MEM_HEX_EQ

#define ASSERT_MEM_HEX_EQ (   a,
  b,
  size 
)    ASSERT_BASE_HEX(memcmp(a, b, size) == 0, a, ==, b, size)

Definition at line 208 of file task.h.

◆ ASSERT_MEM_HEX_NE

#define ASSERT_MEM_HEX_NE (   a,
  b,
  size 
)    ASSERT_BASE_HEX(memcmp(a, b, size) != 0, a, !=, b, size)

Definition at line 211 of file task.h.

◆ ASSERT_MEM_NE

#define ASSERT_MEM_NE (   a,
  b,
  size 
)    ASSERT_BASE_LEN(memcmp(a, b, size) != 0, a, !=, b, s, size)

Definition at line 205 of file task.h.

◆ ASSERT_NE

#define ASSERT_NE (   a,
  b 
)    ASSERT_INT_BASE(a, !=, b, int64_t, PRId64)

Definition at line 187 of file task.h.

◆ ASSERT_NOT_NULL

#define ASSERT_NOT_NULL (   a)    ASSERT_BASE(a != NULL, a, !=, NULL, void*, "p")

Definition at line 217 of file task.h.

◆ ASSERT_NULL

#define ASSERT_NULL (   a)    ASSERT_BASE(a == NULL, a, ==, NULL, void*, "p")

Definition at line 214 of file task.h.

◆ ASSERT_PTR_EQ

#define ASSERT_PTR_EQ (   a,
  b 
)    ASSERT_BASE((void*)a == (void*)b, a, ==, b, void*, "p")

Definition at line 220 of file task.h.

◆ ASSERT_PTR_NE

#define ASSERT_PTR_NE (   a,
  b 
)    ASSERT_BASE((void*)a != (void*)b, a, !=, b, void*, "p")

Definition at line 223 of file task.h.

◆ ASSERT_STR_EQ

#define ASSERT_STR_EQ (   a,
  b 
)    ASSERT_BASE(strcmp(a, b) == 0, a, ==, b, char*, "s")

Definition at line 196 of file task.h.

◆ ASSERT_STR_NE

#define ASSERT_STR_NE (   a,
  b 
)    ASSERT_BASE(strcmp(a, b) != 0, a, !=, b, char*, "s")

Definition at line 199 of file task.h.

◆ ASSERT_UINT64_EQ

#define ASSERT_UINT64_EQ (   a,
  b 
)    ASSERT_INT_BASE(a, ==, b, uint64_t, PRIu64)

Definition at line 189 of file task.h.

◆ ASSERT_UINT64_GE

#define ASSERT_UINT64_GE (   a,
  b 
)    ASSERT_INT_BASE(a, >=, b, uint64_t, PRIu64)

Definition at line 190 of file task.h.

◆ ASSERT_UINT64_GT

#define ASSERT_UINT64_GT (   a,
  b 
)    ASSERT_INT_BASE(a, >, b, uint64_t, PRIu64)

Definition at line 191 of file task.h.

◆ ASSERT_UINT64_LE

#define ASSERT_UINT64_LE (   a,
  b 
)    ASSERT_INT_BASE(a, <=, b, uint64_t, PRIu64)

Definition at line 192 of file task.h.

◆ ASSERT_UINT64_LT

#define ASSERT_UINT64_LT (   a,
  b 
)    ASSERT_INT_BASE(a, <, b, uint64_t, PRIu64)

Definition at line 193 of file task.h.

◆ ASSERT_UINT64_NE

#define ASSERT_UINT64_NE (   a,
  b 
)    ASSERT_INT_BASE(a, !=, b, uint64_t, PRIu64)

Definition at line 194 of file task.h.

◆ BENCHMARK_IMPL

#define BENCHMARK_IMPL (   name)
Value:
int run_benchmark_##name(void); \
int run_benchmark_##name(void)

Definition at line 240 of file task.h.

◆ container_of

#define container_of (   ptr,
  type,
  member 
)    ((type *) ((char *) (ptr) - offsetof(type, member)))

Definition at line 78 of file task.h.

◆ FATAL

#define FATAL (   msg)
Value:
do { \
fprintf(stderr, \
"Fatal error in %s on line %d: %s\n", \
__FILE__, \
__LINE__, \
msg); \
fflush(stderr); \
abort(); \
} while (0)

Definition at line 88 of file task.h.

◆ HELPER_IMPL

#define HELPER_IMPL (   name)
Value:
int run_helper_##name(void); \
int run_helper_##name(void)

Definition at line 244 of file task.h.

◆ MAKE_VALGRIND_HAPPY

#define MAKE_VALGRIND_HAPPY ( )
Value:
do { \
close_loop(uv_default_loop()); \
ASSERT(0 == uv_loop_close(uv_default_loop())); \
} while (0)

Definition at line 229 of file task.h.

◆ RETURN_OK

#define RETURN_OK ( )
Value:
do { \
return TEST_OK; \
} while (0)

Definition at line 257 of file task.h.

◆ RETURN_SKIP

#define RETURN_SKIP (   explanation)
Value:
do { \
fprintf(stderr, "%s\n", explanation); \
fflush(stderr); \
return TEST_SKIP; \
} while (0)

Definition at line 262 of file task.h.

◆ TEST_FILE_LIMIT

#define TEST_FILE_LIMIT (   num)
Value:
do { \
struct rlimit lim; \
lim.rlim_cur = (num); \
lim.rlim_max = lim.rlim_cur; \
if (setrlimit(RLIMIT_NOFILE, &lim)) \
RETURN_SKIP("File descriptor limit too low."); \
} while (0)

Definition at line 271 of file task.h.

◆ TEST_IMPL

#define TEST_IMPL (   name)
Value:
int run_test_##name(void); \
int run_test_##name(void)

Definition at line 236 of file task.h.

◆ TEST_PIPENAME

#define TEST_PIPENAME   "/tmp/uv-test-sock"

Definition at line 61 of file task.h.

◆ TEST_PIPENAME_2

#define TEST_PIPENAME_2   "/tmp/uv-test-sock2"

Definition at line 62 of file task.h.

◆ TEST_PIPENAME_3

#define TEST_PIPENAME_3   "/tmp/uv-test-sock3"

Definition at line 63 of file task.h.

◆ TEST_PORT

#define TEST_PORT   9123

Definition at line 53 of file task.h.

◆ TEST_PORT_2

#define TEST_PORT_2   9124

Definition at line 54 of file task.h.

◆ UNUSED

#define UNUSED

Definition at line 295 of file task.h.

Enumeration Type Documentation

◆ stream_type

Enumerator
TCP 
UDP 
PIPE 

Definition at line 81 of file task.h.

◆ test_status

Enumerator
TEST_OK 
TEST_SKIP 

Definition at line 252 of file task.h.

Function Documentation

◆ can_ipv6()

static UNUSED int can_ipv6 ( void  )
static

Definition at line 315 of file task.h.

◆ close_loop()

static UNUSED void close_loop ( uv_loop_t loop)
static

Definition at line 310 of file task.h.

◆ close_walk_cb()

static void close_walk_cb ( uv_handle_t handle,
void *  arg 
)
static

Definition at line 305 of file task.h.

◆ fmt()

const char* fmt ( double  d)

Definition at line 40 of file runner.c.

◆ notify_parent_process()

void notify_parent_process ( void  )

Definition at line 54 of file runner-unix.c.

X
#define X(c)
setup.name
name
Definition: setup.py:542
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
python_utils.port_server.stderr
stderr
Definition: port_server.py:51
uv_loop_close
UV_EXTERN int uv_loop_close(uv_loop_t *loop)
Definition: uv-common.c:761
uv_default_loop
UV_EXTERN uv_loop_t * uv_default_loop(void)
Definition: uv-common.c:733
conv
const FormatConversionSpecImpl & conv
Definition: abseil-cpp/absl/strings/internal/str_format/float_conversion.cc:449
a_
arena< N > & a_
Definition: cxa_demangle.cpp:4778
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
msg
std::string msg
Definition: client_interceptors_end2end_test.cc:372
xds_manager.num
num
Definition: xds_manager.py:56
TEST_OK
@ TEST_OK
Definition: task.h:253
TEST_SKIP
@ TEST_SKIP
Definition: task.h:254
b_
const char * b_
Definition: bloaty/third_party/protobuf/src/google/protobuf/stubs/common_unittest.cc:194
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
len
int len
Definition: abseil-cpp/absl/base/internal/low_level_alloc_test.cc:46
size
voidpf void uLong size
Definition: bloaty/third_party/zlib/contrib/minizip/ioapi.h:136
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:33