1 #01 redisContext uses injected allocators:
\e[0;32mPASSED
\e[0;0m
2 #02 redisReader uses injected allocators:
\e[0;32mPASSED
\e[0;0m
3 #03 hiredis calloc wrapper protects against overflow:
\e[0;32mPASSED
\e[0;0m
4 #04 Format command without interpolation:
\e[0;32mPASSED
\e[0;0m
5 #05 Format command with %s string interpolation:
\e[0;32mPASSED
\e[0;0m
6 #06 Format command with %s and an empty string:
\e[0;32mPASSED
\e[0;0m
7 #07 Format command with an empty string in between proper interpolations:
\e[0;32mPASSED
\e[0;0m
8 #08 Format command with %b string interpolation:
\e[0;32mPASSED
\e[0;0m
9 #09 Format command with %b and an empty string:
\e[0;32mPASSED
\e[0;0m
10 #10 Format command with literal %:
\e[0;32mPASSED
\e[0;0m
11 #11 Format command with printf-delegation (int):
\e[0;32mPASSED
\e[0;0m
12 #12 Format command with printf-delegation (char):
\e[0;32mPASSED
\e[0;0m
13 #13 Format command with printf-delegation (short):
\e[0;32mPASSED
\e[0;0m
14 #14 Format command with printf-delegation (long):
\e[0;32mPASSED
\e[0;0m
15 #15 Format command with printf-delegation (long long):
\e[0;32mPASSED
\e[0;0m
16 #16 Format command with printf-delegation (unsigned int):
\e[0;32mPASSED
\e[0;0m
17 #17 Format command with printf-delegation (unsigned char):
\e[0;32mPASSED
\e[0;0m
18 #18 Format command with printf-delegation (unsigned short):
\e[0;32mPASSED
\e[0;0m
19 #19 Format command with printf-delegation (unsigned long):
\e[0;32mPASSED
\e[0;0m
20 #20 Format command with printf-delegation (unsigned long long):
\e[0;32mPASSED
\e[0;0m
21 #21 Format command with printf-delegation (float):
\e[0;32mPASSED
\e[0;0m
22 #22 Format command with printf-delegation (double):
\e[0;32mPASSED
\e[0;0m
23 #23 Format command with unhandled printf format (specifier 'p' not supported):
\e[0;32mPASSED
\e[0;0m
24 #24 Format command with invalid printf format (specifier missing):
\e[0;32mPASSED
\e[0;0m
25 #25 Format command by passing argc/argv without lengths:
\e[0;32mPASSED
\e[0;0m
26 #26 Format command by passing argc/argv with lengths:
\e[0;32mPASSED
\e[0;0m
27 #27 Format command into sds by passing argc/argv without lengths:
\e[0;32mPASSED
\e[0;0m
28 #28 Format command into sds by passing argc/argv with lengths:
\e[0;32mPASSED
\e[0;0m
29 #29 Error handling in reply parser:
\e[0;32mPASSED
\e[0;0m
30 #30 Memory cleanup in reply parser:
\e[0;32mPASSED
\e[0;0m
31 #31 Can handle arbitrarily nested multi-bulks:
\e[0;32mPASSED
\e[0;0m
32 #32 Can parse arbitrarily nested multi-bulks correctly:
\e[0;32mPASSED
\e[0;0m
33 #33 Correctly parses LLONG_MAX:
\e[0;32mPASSED
\e[0;0m
34 #34 Set error when > LLONG_MAX:
\e[0;32mPASSED
\e[0;0m
35 #35 Correctly parses LLONG_MIN:
\e[0;32mPASSED
\e[0;0m
36 #36 Set error when < LLONG_MIN:
\e[0;32mPASSED
\e[0;0m
37 #37 Set error when array < -1:
\e[0;32mPASSED
\e[0;0m
38 #38 Set error when bulk < -1:
\e[0;32mPASSED
\e[0;0m
39 #39 Can configure maximum multi-bulk elements:
\e[0;32mPASSED
\e[0;0m
40 #40 Multi-bulk never overflows regardless of maxelements:
\e[0;32mPASSED
\e[0;0m
41 #41 Works with NULL functions for reply:
\e[0;32mPASSED
\e[0;0m
42 #42 Works when a single newline (\r\n) covers two calls to feed:
\e[0;32mPASSED
\e[0;0m
43 #43 Don't reset state after protocol error:
\e[0;32mPASSED
\e[0;0m
44 #44 Don't reset state after protocol error(not segfault):
\e[0;32mPASSED
\e[0;0m
45 #45 Don't do empty allocation for empty multi bulk:
\e[0;32mPASSED
\e[0;0m
46 #46 Can parse RESP3 verbatim strings:
\e[0;32mPASSED
\e[0;0m
47 #47 Can parse RESP3 push messages:
\e[0;32mPASSED
\e[0;0m
48 #48 Can parse RESP3 doubles:
\e[0;32mPASSED
\e[0;0m
49 #49 Set error on invalid RESP3 double:
\e[0;32mPASSED
\e[0;0m
50 #50 Correctly parses RESP3 double INFINITY:
\e[0;32mPASSED
\e[0;0m
51 #51 Correctly parses RESP3 double NaN:
\e[0;32mPASSED
\e[0;0m
52 #52 Correctly parses RESP3 double -Nan:
\e[0;32mPASSED
\e[0;0m
53 #53 Can parse RESP3 nil:
\e[0;32mPASSED
\e[0;0m
54 #54 Set error on invalid RESP3 nil:
\e[0;32mPASSED
\e[0;0m
55 #55 Can parse RESP3 bool (true):
\e[0;32mPASSED
\e[0;0m
56 #56 Can parse RESP3 bool (false):
\e[0;32mPASSED
\e[0;0m
57 #57 Set error on invalid RESP3 bool:
\e[0;32mPASSED
\e[0;0m
58 #58 Can parse RESP3 map:
\e[0;32mPASSED
\e[0;0m
59 #59 Can parse RESP3 set:
\e[0;32mPASSED
\e[0;0m
60 #60 Can parse RESP3 bignum:
\e[0;32mPASSED
\e[0;0m
61 #61 Can parse RESP3 doubles in an array:
\e[0;32mPASSED
\e[0;0m
62 #62 Returns error when host cannot be resolved:
\e[0;32mPASSED
\e[0;0m
63 #63 Returns error when the port is not open:
\e[0;32mPASSED
\e[0;0m
64 #64 We don't clobber connection exception with setsockopt error:
\e[0;32mPASSED
\e[0;0m
65 #65 Returns error when the unix_sock socket path doesn't accept connections:
\e[0;32mPASSED
\e[0;0m
66 #66 Don't fail when redisFree is passed a NULL value:
\e[0;32mPASSED
\e[0;0m
67 #67 Don't fail when freeReplyObject is passed a NULL value:
\e[0;32mPASSED
\e[0;0m
69 Testing against TCP connection (127.0.0.1:6379):
70 #68 Is able to deliver commands:
\e[0;32mPASSED
\e[0;0m
71 #69 Is a able to send commands verbatim:
\e[0;32mPASSED
\e[0;0m
72 #70 %s String interpolation works:
\e[0;32mPASSED
\e[0;0m
73 #71 %b String interpolation works:
\e[0;32mPASSED
\e[0;0m
74 #72 Binary reply length is correct:
\e[0;32mPASSED
\e[0;0m
75 #73 Can parse nil replies:
\e[0;32mPASSED
\e[0;0m
76 #74 Can parse integer replies:
\e[0;32mPASSED
\e[0;0m
77 #75 Can parse multi bulk replies:
\e[0;32mPASSED
\e[0;0m
78 #76 Can handle nested multi bulk replies:
\e[0;32mPASSED
\e[0;0m
79 #77 Send command by passing argc/argv:
\e[0;32mPASSED
\e[0;0m
80 #78 Can pass NULL to redisGetReply:
\e[0;32mPASSED
\e[0;0m
81 #79 RESP3 PUSH messages are handled out of band by default:
\e[0;32mPASSED
\e[0;0m
82 #80 We can set a custom RESP3 PUSH handler:
\e[0;32mPASSED
\e[0;0m
83 #81 We properly handle a NIL invalidation payload:
\e[0;32mPASSED
\e[0;0m
84 #82 With no handler, PUSH replies come in-band:
\e[0;32mPASSED
\e[0;0m
85 #83 With no PUSH handler, no replies are lost:
\e[0;32mPASSED
\e[0;0m
86 #84 We set a default RESP3 handler for redisContext:
\e[0;32mPASSED
\e[0;0m
87 #85 We don't set a default RESP3 push handler for redisAsyncContext:
\e[0;32mPASSED
\e[0;0m
88 #86 Our REDIS_OPT_NO_PUSH_AUTOFREE flag works:
\e[0;32mPASSED
\e[0;0m
89 #87 We can use redisOptions to set a custom PUSH handler for redisContext:
\e[0;32mPASSED
\e[0;0m
90 #88 We can use redisOptions to set a custom PUSH handler for redisAsyncContext:
\e[0;32mPASSED
\e[0;0m
91 #89 We can use redisOptions to set privdata:
\e[0;32mPASSED
\e[0;0m
92 #90 Our privdata destructor fires when we free the context:
\e[0;32mPASSED
\e[0;0m
93 #91 Successfully completes a command when the timeout is not exceeded:
\e[0;32mPASSED
\e[0;0m
94 #92 Does not return a reply when the command times out:
\e[01;33mSKIPPED
\e[0;0m
95 #93 Reconnect properly reconnects after a timeout:
\e[0;32mPASSED
\e[0;0m
96 #94 Reconnect properly uses owned parameters:
\e[0;32mPASSED
\e[0;0m
97 #95 Returns I/O error when the connection is lost:
\e[0;32mPASSED
\e[0;0m
98 #96 Returns I/O error on socket timeout:
\e[0;32mPASSED
\e[0;0m
99 #97 Set error when an invalid timeout usec value is used during connect:
\e[0;32mPASSED
\e[0;0m
100 #98 Set error when an invalid timeout sec value is used during connect:
\e[0;32mPASSED
\e[0;0m
101 #99 Append format command:
\e[0;32mPASSED
\e[0;0m
102 #100 We can enable TCP_KEEPALIVE:
\e[0;32mPASSED
\e[0;0m
103 #101 Setting TCP_USER_TIMEOUT errors when unsupported:
\e[0;32mPASSED
\e[0;0m
106 (1000x LRANGE with 500 elements)
108 (10000x PING (pipelined))
109 (10000x LRANGE with 500 elements (pipelined))
110 (10000x INCRBY (pipelined))
112 Testing against Unix socket connection (/tmp/redis.sock):
\e[01;33mSKIPPED
\e[0;0m
114 Testing asynchronous API using polling_adapter TCP (127.0.0.1:6379):
115 #103 Async connect:
\e[0;32mPASSED
\e[0;0m
116 #104 Async free after connect:
\e[0;32mPASSED
\e[0;0m
117 #105 Async connect timeout:
\e[0;32mPASSED
\e[0;0m
118 #106 Async PING/PONG:
\e[0;32mPASSED
\e[0;0m
119 #107 Async PING/PONG after connect timeout:
\e[0;32mPASSED
\e[0;0m
120 #108 Disconnect from onConnected callback (Issue #931):
\e[0;32mPASSED
\e[0;0m
121 #109 Ping/Pong from onConnected callback (Issue #931):
\e[0;32mPASSED
\e[0;0m
123 Testing against inherited fd (/tmp/redis.sock):
\e[01;33mSKIPPED
\e[0;0m
124 ALL TESTS PASSED (3 skipped)