· 6 years ago · May 08, 2019, 10:38 PM
1$ ./runtest --clients 1 --timeout 1200
2** SLOW COMPUTER ** Using a single client to avoid false positives.
3Cleanup: may take some time... OK
4Starting test server at port 11111
5[ready]: 4109
6Testing unit/printver
7Testing Redis version 999.999.999 (00000000)
8[1/51 done]: unit/printver (0 seconds)
9Testing unit/dump
10[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key
11[ok]: RESTORE can set an arbitrary expire to the materialized key
12[ok]: RESTORE can set an expire that overflows a 32 bit integer
13[ok]: RESTORE can set an absolute expire
14[ok]: RESTORE can set LRU
15[ok]: RESTORE can set LFU
16[ok]: RESTORE returns an error of the key already exists
17[ok]: RESTORE can overwrite an existing key with REPLACE
18[ok]: RESTORE can detect a syntax error for unrecongized options
19[ok]: DUMP of non existing key returns nil
20[ok]: MIGRATE is caching connections
21[ok]: MIGRATE cached connections are released after some time
22[ok]: MIGRATE is able to migrate a key between two instances
23[ok]: MIGRATE is able to copy a key between two instances
24[ok]: MIGRATE will not overwrite existing keys, unless REPLACE is used
25[ok]: MIGRATE propagates TTL correctly
26[ok]: MIGRATE can correctly transfer large values
27[ok]: MIGRATE can correctly transfer hashes
28[ok]: MIGRATE timeout actually works
29[ok]: MIGRATE can migrate multiple keys at once
30[ok]: MIGRATE with multiple keys must have empty key arg
31[ok]: MIGRATE with multiple keys migrate just existing ones
32[ok]: MIGRATE with multiple keys: stress command rewriting
33[ok]: MIGRATE with multiple keys: delete just ack keys
34[ok]: MIGRATE AUTH: correct and wrong password cases
35[2/51 done]: unit/dump (148 seconds)
36Testing unit/auth
37[ok]: AUTH fails if there is no password configured server side
38[ok]: AUTH fails when a wrong password is given
39[ok]: Arbitrary command gives an error when AUTH is required
40[ok]: AUTH succeeds when the right password is given
41[ok]: Once AUTH succeeded we can actually send commands to the server
42[3/51 done]: unit/auth (1 seconds)
43Testing unit/protocol
44[ok]: Handle an empty query
45[ok]: Negative multibulk length
46[ok]: Out of range multibulk length
47[ok]: Wrong multibulk payload header
48[ok]: Negative multibulk payload length
49[ok]: Out of range multibulk payload length
50[ok]: Non-number multibulk payload length
51[ok]: Multi bulk request not followed by bulk arguments
52[ok]: Generic wrong number of args
53[ok]: Unbalanced number of quotes
54[ok]: Protocol desync regression test #1
55[ok]: Protocol desync regression test #2
56[ok]: Protocol desync regression test #3
57[ok]: Regression for a crash with blocking ops and pipelining
58[4/51 done]: unit/protocol (15 seconds)
59Testing unit/keyspace
60[ok]: DEL against a single item
61[ok]: Vararg DEL
62[ok]: KEYS with pattern
63[ok]: KEYS to get all keys
64[ok]: DBSIZE
65[ok]: DEL all keys
66[ok]: DEL against expired key
67[ok]: EXISTS
68[ok]: Zero length value in key. SET/GET/EXISTS
69[ok]: Commands pipelining
70[ok]: Non existing command
71[ok]: RENAME basic usage
72[ok]: RENAME source key should no longer exist
73[ok]: RENAME against already existing key
74[ok]: RENAMENX basic usage
75[ok]: RENAMENX against already existing key
76[ok]: RENAMENX against already existing key (2)
77[ok]: RENAME against non existing source key
78[ok]: RENAME where source and dest key are the same (existing)
79[ok]: RENAMENX where source and dest key are the same (existing)
80[ok]: RENAME where source and dest key are the same (non existing)
81[ok]: RENAME with volatile key, should move the TTL as well
82[ok]: RENAME with volatile key, should not inherit TTL of target key
83[ok]: DEL all keys again (DB 0)
84[ok]: DEL all keys again (DB 1)
85[ok]: MOVE basic usage
86[ok]: MOVE against key existing in the target DB
87[ok]: MOVE against non-integer DB (#1428)
88[ok]: MOVE can move key expire metadata as well
89[ok]: MOVE does not create an expire if it does not exist
90[ok]: SET/GET keys in different DBs
91[ok]: RANDOMKEY
92[ok]: RANDOMKEY against empty DB
93[ok]: RANDOMKEY regression 1
94[ok]: KEYS * two times with long key, Github issue #1208
95[5/51 done]: unit/keyspace (2 seconds)
96Testing unit/scan
97[ok]: SCAN basic
98[ok]: SCAN COUNT
99[ok]: SCAN MATCH
100[ok]: SSCAN with encoding intset
101[ok]: SSCAN with encoding hashtable
102[ok]: HSCAN with encoding ziplist
103[ok]: HSCAN with encoding hashtable
104[ok]: ZSCAN with encoding ziplist
105[ok]: ZSCAN with encoding skiplist
106[ok]: SCAN guarantees check under write load
107[ok]: SSCAN with integer encoded object (issue #1345)
108[ok]: SSCAN with PATTERN
109[ok]: HSCAN with PATTERN
110[ok]: ZSCAN with PATTERN
111[ok]: ZSCAN scores: regression test for issue #2175
112[ok]: SCAN regression test for issue #4906
113[6/51 done]: unit/scan (98 seconds)
114Testing unit/type/string
115[ok]: SET and GET an item
116[ok]: SET and GET an empty item
117[ok]: Very big payload in GET/SET
118[ok]: Very big payload random access
119[ok]: SET 10000 numeric keys and access all them in reverse order
120[ok]: DBSIZE should be 10000 now
121[ok]: SETNX target key missing
122[ok]: SETNX target key exists
123[ok]: SETNX against not-expired volatile key
124[ok]: SETNX against expired volatile key
125[ok]: MGET
126[ok]: MGET against non existing key
127[ok]: MGET against non-string key
128[ok]: GETSET (set new value)
129[ok]: GETSET (replace old value)
130[ok]: MSET base case
131[ok]: MSET wrong number of args
132[ok]: MSETNX with already existent key
133[ok]: MSETNX with not existing keys
134[ok]: STRLEN against non-existing key
135[ok]: STRLEN against integer-encoded value
136[ok]: STRLEN against plain string
137[ok]: SETBIT against non-existing key
138[ok]: SETBIT against string-encoded key
139[ok]: SETBIT against integer-encoded key
140[ok]: SETBIT against key with wrong type
141[ok]: SETBIT with out of range bit offset
142[ok]: SETBIT with non-bit argument
143[ok]: SETBIT fuzzing
144[ok]: GETBIT against non-existing key
145[ok]: GETBIT against string-encoded key
146[ok]: GETBIT against integer-encoded key
147[ok]: SETRANGE against non-existing key
148[ok]: SETRANGE against string-encoded key
149[ok]: SETRANGE against integer-encoded key
150[ok]: SETRANGE against key with wrong type
151[ok]: SETRANGE with out of range offset
152[ok]: GETRANGE against non-existing key
153[ok]: GETRANGE against string value
154[ok]: GETRANGE against integer-encoded value
155[ok]: GETRANGE fuzzing
156[ok]: Extended SET can detect syntax errors
157[ok]: Extended SET NX option
158[ok]: Extended SET XX option
159[ok]: Extended SET EX option
160[ok]: Extended SET PX option
161[ok]: Extended SET using multiple options at once
162[ok]: GETRANGE with huge ranges, Github issue #1844
163[7/51 done]: unit/type/string (100 seconds)
164Testing unit/type/incr
165[ok]: INCR against non existing key
166[ok]: INCR against key created by incr itself
167[ok]: INCR against key originally set with SET
168[ok]: INCR over 32bit value
169[ok]: INCRBY over 32bit value with over 32bit increment
170[ok]: INCR fails against key with spaces (left)
171[ok]: INCR fails against key with spaces (right)
172[ok]: INCR fails against key with spaces (both)
173[ok]: INCR fails against a key holding a list
174[ok]: DECRBY over 32bit value with over 32bit increment, negative res
175[ok]: INCR uses shared objects in the 0-9999 range
176[ok]: INCR can modify objects in-place
177[ok]: INCRBYFLOAT against non existing key
178[ok]: INCRBYFLOAT against key originally set with SET
179[ok]: INCRBYFLOAT over 32bit value
180[ok]: INCRBYFLOAT over 32bit value with over 32bit increment
181[ok]: INCRBYFLOAT fails against key with spaces (left)
182[ok]: INCRBYFLOAT fails against key with spaces (right)
183[ok]: INCRBYFLOAT fails against key with spaces (both)
184[ok]: INCRBYFLOAT fails against a key holding a list
185[ok]: INCRBYFLOAT does not allow NaN or Infinity
186[ok]: INCRBYFLOAT decrement
187[ok]: string to double with null terminator
188[8/51 done]: unit/type/incr (1 seconds)
189Testing unit/type/list
190[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - ziplist
191[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - regular list
192[ok]: R/LPOP against empty list
193[ok]: Variadic RPUSH/LPUSH
194[ok]: DEL a list
195[ok]: BLPOP, BRPOP: single existing list - linkedlist
196[ok]: BLPOP, BRPOP: multiple existing lists - linkedlist
197[ok]: BLPOP, BRPOP: second list has an entry - linkedlist
198[ok]: BRPOPLPUSH - linkedlist
199[ok]: BLPOP, BRPOP: single existing list - ziplist
200[ok]: BLPOP, BRPOP: multiple existing lists - ziplist
201[ok]: BLPOP, BRPOP: second list has an entry - ziplist
202[ok]: BRPOPLPUSH - ziplist
203[ok]: BLPOP, LPUSH + DEL should not awake blocked client
204[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client
205[ok]: BLPOP with same key multiple times should work (issue #801)
206[ok]: MULTI/EXEC is isolated from the point of view of BLPOP
207[ok]: BLPOP with variadic LPUSH
208[ok]: BRPOPLPUSH with zero timeout should block indefinitely
209[ok]: BRPOPLPUSH with a client BLPOPing the target list
210[ok]: BRPOPLPUSH with wrong source type
211[ok]: BRPOPLPUSH with wrong destination type
212[ok]: BRPOPLPUSH maintains order of elements after failure
213[ok]: BRPOPLPUSH with multiple blocked clients
214[ok]: Linked BRPOPLPUSH
215[ok]: Circular BRPOPLPUSH
216[ok]: Self-referential BRPOPLPUSH
217[ok]: BRPOPLPUSH inside a transaction
218[ok]: PUSH resulting from BRPOPLPUSH affect WATCH
219[ok]: BRPOPLPUSH does not affect WATCH while still blocked
220[ok]: BRPOPLPUSH timeout
221[ok]: BLPOP when new key is moved into place
222[ok]: BLPOP when result key is created by SORT..STORE
223[ok]: BLPOP: with single empty list argument
224[ok]: BLPOP: with negative timeout
225[ok]: BLPOP: with non-integer timeout
226[ok]: BLPOP: with zero timeout should block indefinitely
227[ok]: BLPOP: second argument is not a list
228[ok]: BLPOP: timeout
229[ok]: BLPOP: arguments are empty
230[ok]: BRPOP: with single empty list argument
231[ok]: BRPOP: with negative timeout
232[ok]: BRPOP: with non-integer timeout
233[ok]: BRPOP: with zero timeout should block indefinitely
234[ok]: BRPOP: second argument is not a list
235[ok]: BRPOP: timeout
236[ok]: BRPOP: arguments are empty
237[ok]: BLPOP inside a transaction
238[ok]: LPUSHX, RPUSHX - generic
239[ok]: LPUSHX, RPUSHX - linkedlist
240[ok]: LINSERT - linkedlist
241[ok]: LPUSHX, RPUSHX - ziplist
242[ok]: LINSERT - ziplist
243[ok]: LINSERT raise error on bad syntax
244[ok]: LINDEX consistency test - quicklist
245[ok]: LINDEX random access - quicklist
246[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist
247[ok]: LINDEX consistency test - quicklist
248[ok]: LINDEX random access - quicklist
249[ok]: Check if list is still ok after a DEBUG RELOAD - quicklist
250[ok]: LLEN against non-list value error
251[ok]: LLEN against non existing key
252[ok]: LINDEX against non-list value error
253[ok]: LINDEX against non existing key
254[ok]: LPUSH against non-list value error
255[ok]: RPUSH against non-list value error
256[ok]: RPOPLPUSH base case - linkedlist
257[ok]: RPOPLPUSH with the same list as src and dst - linkedlist
258[ok]: RPOPLPUSH with linkedlist source and existing target linkedlist
259[ok]: RPOPLPUSH with linkedlist source and existing target ziplist
260[ok]: RPOPLPUSH base case - ziplist
261[ok]: RPOPLPUSH with the same list as src and dst - ziplist
262[ok]: RPOPLPUSH with ziplist source and existing target linkedlist
263[ok]: RPOPLPUSH with ziplist source and existing target ziplist
264[ok]: RPOPLPUSH against non existing key
265[ok]: RPOPLPUSH against non list src key
266[ok]: RPOPLPUSH against non list dst key
267[ok]: RPOPLPUSH against non existing src key
268[ok]: Basic LPOP/RPOP - linkedlist
269[ok]: Basic LPOP/RPOP - ziplist
270[ok]: LPOP/RPOP against non list value
271[ok]: Mass RPOP/LPOP - quicklist
272[ok]: Mass RPOP/LPOP - quicklist
273[ok]: LRANGE basics - linkedlist
274[ok]: LRANGE inverted indexes - linkedlist
275[ok]: LRANGE out of range indexes including the full list - linkedlist
276[ok]: LRANGE out of range negative end index - linkedlist
277[ok]: LRANGE basics - ziplist
278[ok]: LRANGE inverted indexes - ziplist
279[ok]: LRANGE out of range indexes including the full list - ziplist
280[ok]: LRANGE out of range negative end index - ziplist
281[ok]: LRANGE against non existing key
282[ok]: LTRIM basics - linkedlist
283[ok]: LTRIM out of range negative end index - linkedlist
284[ok]: LTRIM basics - ziplist
285[ok]: LTRIM out of range negative end index - ziplist
286[ok]: LSET - linkedlist
287[ok]: LSET out of range index - linkedlist
288[ok]: LSET - ziplist
289[ok]: LSET out of range index - ziplist
290[ok]: LSET against non existing key
291[ok]: LSET against non list value
292[ok]: LREM remove all the occurrences - linkedlist
293[ok]: LREM remove the first occurrence - linkedlist
294[ok]: LREM remove non existing element - linkedlist
295[ok]: LREM starting from tail with negative count - linkedlist
296[ok]: LREM starting from tail with negative count (2) - linkedlist
297[ok]: LREM deleting objects that may be int encoded - linkedlist
298[ok]: LREM remove all the occurrences - ziplist
299[ok]: LREM remove the first occurrence - ziplist
300[ok]: LREM remove non existing element - ziplist
301[ok]: LREM starting from tail with negative count - ziplist
302[ok]: LREM starting from tail with negative count (2) - ziplist
303[ok]: LREM deleting objects that may be int encoded - ziplist
304[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds
305[9/51 done]: unit/type/list (28 seconds)
306Testing unit/type/list-2
307[ok]: LTRIM stress testing - linkedlist
308[ok]: LTRIM stress testing - ziplist
309[10/51 done]: unit/type/list-2 (321 seconds)
310Testing unit/type/list-3
311[ok]: Explicit regression for a list bug
312[ok]: Regression for quicklist #3343 bug
313[ok]: Stress tester for #3343-alike bugs
314[ok]: ziplist implementation: value encoding and backlink
315[ok]: ziplist implementation: encoding stress testing
316[11/51 done]: unit/type/list-3 (328 seconds)
317Testing unit/type/set
318[ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - regular set
319[ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - intset
320[ok]: SADD against non set
321[ok]: SADD a non-integer against an intset
322[ok]: SADD an integer larger than 64 bits
323[ok]: SADD overflows the maximum allowed integers in an intset
324[ok]: Variadic SADD
325[ok]: Set encoding after DEBUG RELOAD
326[ok]: SREM basics - regular set
327[ok]: SREM basics - intset
328[ok]: SREM with multiple arguments
329[ok]: SREM variadic version with more args needed to destroy the key
330[ok]: Generated sets must be encoded as hashtable
331[ok]: SINTER with two sets - hashtable
332[ok]: SINTERSTORE with two sets - hashtable
333[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - hashtable
334[ok]: SUNION with two sets - hashtable
335[ok]: SUNIONSTORE with two sets - hashtable
336[ok]: SINTER against three sets - hashtable
337[ok]: SINTERSTORE with three sets - hashtable
338[ok]: SUNION with non existing keys - hashtable
339[ok]: SDIFF with two sets - hashtable
340[ok]: SDIFF with three sets - hashtable
341[ok]: SDIFFSTORE with three sets - hashtable
342[ok]: Generated sets must be encoded as intset
343[ok]: SINTER with two sets - intset
344[ok]: SINTERSTORE with two sets - intset
345[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset
346[ok]: SUNION with two sets - intset
347[ok]: SUNIONSTORE with two sets - intset
348[ok]: SINTER against three sets - intset
349[ok]: SINTERSTORE with three sets - intset
350[ok]: SUNION with non existing keys - intset
351[ok]: SDIFF with two sets - intset
352[ok]: SDIFF with three sets - intset
353[ok]: SDIFFSTORE with three sets - intset
354[ok]: SDIFF with first set empty
355[ok]: SDIFF with same set two times
356[ok]: SDIFF fuzzing
357[ok]: SINTER against non-set should throw error
358[ok]: SUNION against non-set should throw error
359[ok]: SINTER should handle non existing key as empty
360[ok]: SINTER with same integer elements but different encoding
361[ok]: SINTERSTORE against non existing keys should delete dstkey
362[ok]: SUNIONSTORE against non existing keys should delete dstkey
363[ok]: SPOP basics - hashtable
364[ok]: SPOP with <count>=1 - hashtable
365[ok]: SRANDMEMBER - hashtable
366[ok]: SPOP basics - intset
367[ok]: SPOP with <count>=1 - intset
368[ok]: SRANDMEMBER - intset
369[ok]: SPOP with <count>
370[ok]: SPOP with <count>
371[ok]: SPOP using integers, testing Knuth's and Floyd's algorithm
372[ok]: SPOP using integers with Knuth's algorithm
373[ok]: SPOP new implementation: code path #1
374[ok]: SPOP new implementation: code path #2
375[ok]: SPOP new implementation: code path #3
376[ok]: SRANDMEMBER with <count> against non existing key
377[ok]: SRANDMEMBER with <count> - hashtable
378[ok]: SRANDMEMBER with <count> - intset
379[ok]: SMOVE basics - from regular set to intset
380[ok]: SMOVE basics - from intset to regular set
381[ok]: SMOVE non existing key
382[ok]: SMOVE non existing src set
383[ok]: SMOVE from regular set to non existing destination set
384[ok]: SMOVE from intset to non existing destination set
385[ok]: SMOVE wrong src key type
386[ok]: SMOVE wrong dst key type
387[ok]: SMOVE with identical source and destination
388[ok]: intsets implementation stress testing
389[12/51 done]: unit/type/set (124 seconds)
390Testing unit/type/zset
391[ok]: Check encoding - ziplist
392[ok]: ZSET basic ZADD and score update - ziplist
393[ok]: ZSET element can't be set to NaN with ZADD - ziplist
394[ok]: ZSET element can't be set to NaN with ZINCRBY
395[ok]: ZADD with options syntax error with incomplete pair
396[ok]: ZADD XX option without key - ziplist
397[ok]: ZADD XX existing key - ziplist
398[ok]: ZADD XX returns the number of elements actually added
399[ok]: ZADD XX updates existing elements score
400[ok]: ZADD XX and NX are not compatible
401[ok]: ZADD NX with non existing key
402[ok]: ZADD NX only add new elements without updating old ones
403[ok]: ZADD INCR works like ZINCRBY
404[ok]: ZADD INCR works with a single score-elemenet pair
405[ok]: ZADD CH option changes return value to all changed elements
406[ok]: ZINCRBY calls leading to NaN result in error
407[ok]: ZADD - Variadic version base case
408[ok]: ZADD - Return value is the number of actually added items
409[ok]: ZADD - Variadic version does not add nothing on single parsing err
410[ok]: ZADD - Variadic version will raise error on missing arg
411[ok]: ZINCRBY does not work variadic even if shares ZADD implementation
412[ok]: ZCARD basics - ziplist
413[ok]: ZREM removes key after last element is removed
414[ok]: ZREM variadic version
415[ok]: ZREM variadic version -- remove elements after key deletion
416[ok]: ZRANGE basics - ziplist
417[ok]: ZREVRANGE basics - ziplist
418[ok]: ZRANK/ZREVRANK basics - ziplist
419[ok]: ZRANK - after deletion - ziplist
420[ok]: ZINCRBY - can create a new sorted set - ziplist
421[ok]: ZINCRBY - increment and decrement - ziplist
422[ok]: ZINCRBY return value
423[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics
424[ok]: ZRANGEBYSCORE with WITHSCORES
425[ok]: ZRANGEBYSCORE with LIMIT
426[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES
427[ok]: ZRANGEBYSCORE with non-value min or max
428[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics
429[ok]: ZLEXCOUNT advanced
430[ok]: ZRANGEBYSLEX with LIMIT
431[ok]: ZRANGEBYLEX with invalid lex range specifiers
432[ok]: ZREMRANGEBYSCORE basics
433[ok]: ZREMRANGEBYSCORE with non-value min or max
434[ok]: ZREMRANGEBYRANK basics
435[ok]: ZUNIONSTORE against non-existing key doesn't set destination - ziplist
436[ok]: ZUNIONSTORE with empty set - ziplist
437[ok]: ZUNIONSTORE basics - ziplist
438[ok]: ZUNIONSTORE with weights - ziplist
439[ok]: ZUNIONSTORE with a regular set and weights - ziplist
440[ok]: ZUNIONSTORE with AGGREGATE MIN - ziplist
441[ok]: ZUNIONSTORE with AGGREGATE MAX - ziplist
442[ok]: ZINTERSTORE basics - ziplist
443[ok]: ZINTERSTORE with weights - ziplist
444[ok]: ZINTERSTORE with a regular set and weights - ziplist
445[ok]: ZINTERSTORE with AGGREGATE MIN - ziplist
446[ok]: ZINTERSTORE with AGGREGATE MAX - ziplist
447[ok]: ZUNIONSTORE with +inf/-inf scores - ziplist
448[ok]: ZUNIONSTORE with NaN weights ziplist
449[ok]: ZINTERSTORE with +inf/-inf scores - ziplist
450[ok]: ZINTERSTORE with NaN weights ziplist
451[ok]: Basic ZPOP with a single key - ziplist
452[ok]: ZPOP with count - ziplist
453[ok]: BZPOP with a single existing sorted set - ziplist
454[ok]: BZPOP with multiple existing sorted sets - ziplist
455[ok]: BZPOP second sorted set has members - ziplist
456[ok]: Check encoding - skiplist
457[ok]: ZSET basic ZADD and score update - skiplist
458[ok]: ZSET element can't be set to NaN with ZADD - skiplist
459[ok]: ZSET element can't be set to NaN with ZINCRBY
460[ok]: ZADD with options syntax error with incomplete pair
461[ok]: ZADD XX option without key - skiplist
462[ok]: ZADD XX existing key - skiplist
463[ok]: ZADD XX returns the number of elements actually added
464[ok]: ZADD XX updates existing elements score
465[ok]: ZADD XX and NX are not compatible
466[ok]: ZADD NX with non existing key
467[ok]: ZADD NX only add new elements without updating old ones
468[ok]: ZADD INCR works like ZINCRBY
469[ok]: ZADD INCR works with a single score-elemenet pair
470[ok]: ZADD CH option changes return value to all changed elements
471[ok]: ZINCRBY calls leading to NaN result in error
472[ok]: ZADD - Variadic version base case
473[ok]: ZADD - Return value is the number of actually added items
474[ok]: ZADD - Variadic version does not add nothing on single parsing err
475[ok]: ZADD - Variadic version will raise error on missing arg
476[ok]: ZINCRBY does not work variadic even if shares ZADD implementation
477[ok]: ZCARD basics - skiplist
478[ok]: ZREM removes key after last element is removed
479[ok]: ZREM variadic version
480[ok]: ZREM variadic version -- remove elements after key deletion
481[ok]: ZRANGE basics - skiplist
482[ok]: ZREVRANGE basics - skiplist
483[ok]: ZRANK/ZREVRANK basics - skiplist
484[ok]: ZRANK - after deletion - skiplist
485[ok]: ZINCRBY - can create a new sorted set - skiplist
486[ok]: ZINCRBY - increment and decrement - skiplist
487[ok]: ZINCRBY return value
488[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics
489[ok]: ZRANGEBYSCORE with WITHSCORES
490[ok]: ZRANGEBYSCORE with LIMIT
491[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES
492[ok]: ZRANGEBYSCORE with non-value min or max
493[ok]: ZRANGEBYLEX/ZREVRANGEBYLEX/ZLEXCOUNT basics
494[ok]: ZLEXCOUNT advanced
495[ok]: ZRANGEBYSLEX with LIMIT
496[ok]: ZRANGEBYLEX with invalid lex range specifiers
497[ok]: ZREMRANGEBYSCORE basics
498[ok]: ZREMRANGEBYSCORE with non-value min or max
499[ok]: ZREMRANGEBYRANK basics
500[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist
501[ok]: ZUNIONSTORE with empty set - skiplist
502[ok]: ZUNIONSTORE basics - skiplist
503[ok]: ZUNIONSTORE with weights - skiplist
504[ok]: ZUNIONSTORE with a regular set and weights - skiplist
505[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist
506[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist
507[ok]: ZINTERSTORE basics - skiplist
508[ok]: ZINTERSTORE with weights - skiplist
509[ok]: ZINTERSTORE with a regular set and weights - skiplist
510[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist
511[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist
512[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist
513[ok]: ZUNIONSTORE with NaN weights skiplist
514[ok]: ZINTERSTORE with +inf/-inf scores - skiplist
515[ok]: ZINTERSTORE with NaN weights skiplist
516[ok]: Basic ZPOP with a single key - skiplist
517[ok]: ZPOP with count - skiplist
518[ok]: BZPOP with a single existing sorted set - skiplist
519[ok]: BZPOP with multiple existing sorted sets - skiplist
520[ok]: BZPOP second sorted set has members - skiplist
521[ok]: ZINTERSTORE regression with two sets, intset+hashtable
522[ok]: ZUNIONSTORE regression, should not create NaN in scores
523[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets
524[ok]: ZUNIONSTORE result is sorted
525[ok]: ZSET commands don't accept the empty strings as valid score
526[ok]: ZSCORE - ziplist
527[ok]: ZSCORE after a DEBUG RELOAD - ziplist
528[ok]: ZSET sorting stresser - ziplist
529[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - ziplist
530[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - ziplist
531[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 128 element sorted set - ziplist
532[ok]: ZSETs skiplist implementation backlink consistency test - ziplist
533[ok]: ZSETs ZRANK augmented skip list stress testing - ziplist
534[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client
535[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client
536[ok]: BZPOPMIN with same key multiple times should work
537[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN
538[ok]: BZPOPMIN with variadic ZADD
539[ok]: BZPOPMIN with zero timeout should block indefinitely
540[ok]: ZSCORE - skiplist
541[ok]: ZSCORE after a DEBUG RELOAD - skiplist
542[ok]: ZSET sorting stresser - skiplist
543[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist
544[ok]: ZRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist
545[ok]: ZREMRANGEBYLEX fuzzy test, 100 ranges in 100 element sorted set - skiplist
546[ok]: ZSETs skiplist implementation backlink consistency test - skiplist
547[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist
548[ok]: BZPOPMIN, ZADD + DEL should not awake blocked client
549[ok]: BZPOPMIN, ZADD + DEL + SET should not awake blocked client
550[ok]: BZPOPMIN with same key multiple times should work
551[ok]: MULTI/EXEC is isolated from the point of view of BZPOPMIN
552[ok]: BZPOPMIN with variadic ZADD
553[ok]: BZPOPMIN with zero timeout should block indefinitely
554[ok]: ZSET skiplist order consistency when elements are moved
555[13/51 done]: unit/type/zset (169 seconds)
556Testing unit/type/hash
557[ok]: HSET/HLEN - Small hash creation
558[ok]: Is the small hash encoded with a ziplist?
559[ok]: HSET/HLEN - Big hash creation
560[ok]: Is the big hash encoded with an hash table?
561[ok]: HGET against the small hash
562[ok]: HGET against the big hash
563[ok]: HGET against non existing key
564[ok]: HSET in update and insert mode
565[ok]: HSETNX target key missing - small hash
566[ok]: HSETNX target key exists - small hash
567[ok]: HSETNX target key missing - big hash
568[ok]: HSETNX target key exists - big hash
569[ok]: HMSET wrong number of args
570[ok]: HMSET - small hash
571[ok]: HMSET - big hash
572[ok]: HMGET against non existing key and fields
573[ok]: HMGET against wrong type
574[ok]: HMGET - small hash
575[ok]: HMGET - big hash
576[ok]: HKEYS - small hash
577[ok]: HKEYS - big hash
578[ok]: HVALS - small hash
579[ok]: HVALS - big hash
580[ok]: HGETALL - small hash
581[ok]: HGETALL - big hash
582[ok]: HDEL and return value
583[ok]: HDEL - more than a single value
584[ok]: HDEL - hash becomes empty before deleting all specified fields
585[ok]: HEXISTS
586[ok]: Is a ziplist encoded Hash promoted on big payload?
587[ok]: HINCRBY against non existing database key
588[ok]: HINCRBY against non existing hash key
589[ok]: HINCRBY against hash key created by hincrby itself
590[ok]: HINCRBY against hash key originally set with HSET
591[ok]: HINCRBY over 32bit value
592[ok]: HINCRBY over 32bit value with over 32bit increment
593[ok]: HINCRBY fails against hash value with spaces (left)
594[ok]: HINCRBY fails against hash value with spaces (right)
595[ok]: HINCRBY can detect overflows
596[ok]: HINCRBYFLOAT against non existing database key
597[ok]: HINCRBYFLOAT against non existing hash key
598[ok]: HINCRBYFLOAT against hash key created by hincrby itself
599[ok]: HINCRBYFLOAT against hash key originally set with HSET
600[ok]: HINCRBYFLOAT over 32bit value
601[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment
602[ok]: HINCRBYFLOAT fails against hash value with spaces (left)
603[ok]: HINCRBYFLOAT fails against hash value with spaces (right)
604[ok]: HSTRLEN against the small hash
605[ok]: HSTRLEN against the big hash
606[ok]: HSTRLEN against non existing field
607[ok]: HSTRLEN corner cases
608[ok]: Hash ziplist regression test for large keys
609[ok]: Hash fuzzing #1 - 10 fields
610[ok]: Hash fuzzing #2 - 10 fields
611[ok]: Hash fuzzing #1 - 512 fields
612[ok]: Hash fuzzing #2 - 512 fields
613[ok]: Stress test the hash ziplist -> hashtable encoding conversion
614[14/51 done]: unit/type/hash (96 seconds)
615Testing unit/type/stream
616[ok]: XADD can add entries into a stream that XRANGE can fetch
617[ok]: XADD IDs are incremental
618[ok]: XADD IDs are incremental when ms is the same as well
619[ok]: XADD with MAXLEN option
620[ok]: XADD mass insertion and XLEN
621[ok]: XRANGE COUNT works as expected
622[ok]: XREVRANGE COUNT works as expected
623[ok]: XRANGE can be used to iterate the whole stream
624[ok]: XREVRANGE returns the reverse of XRANGE
625[ok]: XREAD with non empty stream
626[ok]: Non blocking XREAD with empty streams
627[ok]: XREAD with non empty second stream
628[ok]: Blocking XREAD waiting new data
629[ok]: Blocking XREAD waiting old data
630[ok]: XREAD: XADD + DEL should not awake client
631[ok]: XREAD: XADD + DEL + LPUSH should not awake client
632[ok]: XREAD with same stream name multiple times should work
633[ok]: XREAD + multiple XADD inside transaction
634[ok]: XDEL basic test
635[ok]: XDEL fuzz test
636[ok]: XRANGE fuzzing
637[ok]: XREVRANGE regression test for issue #5006
638[ok]: XADD with MAXLEN > xlen can propagate correctly
639[ok]: XADD with ~ MAXLEN can propagate correctly
640[ok]: XTRIM with ~ MAXLEN can propagate correctly
641[ok]: XADD can CREATE an empty stream
642[ok]: XSETID can set a specific ID
643[ok]: XSETID cannot SETID with smaller ID
644[ok]: XSETID cannot SETID on non-existent key
645[ok]: Empty stream can be rewrite into AOF correctly
646[ok]: Stream can be rewrite into AOF correctly after XDEL lastid
647[15/51 done]: unit/type/stream (648 seconds)
648Testing unit/type/stream-cgroups
649[ok]: XGROUP CREATE: creation and duplicate group name detection
650[ok]: XGROUP CREATE: automatic stream creation fails without MKSTREAM
651[ok]: XGROUP CREATE: automatic stream creation works with MKSTREAM
652[ok]: XREADGROUP will return only new elements
653[ok]: XREADGROUP can read the history of the elements we own
654[ok]: XPENDING is able to return pending items
655[ok]: XPENDING can return single consumer items
656[ok]: XACK is able to remove items from the client/group PEL
657[ok]: XACK can't remove the same item multiple times
658[ok]: XACK is able to accept multiple arguments
659[ok]: PEL NACK reassignment after XGROUP SETID event
660[ok]: XREADGROUP will not report data on empty history. Bug #5577
661[ok]: XREADGROUP history reporting of deleted entries. Bug #5570
662[ok]: XCLAIM can claim PEL items from another consumer
663[ok]: XCLAIM without JUSTID increments delivery count
664[ok]: Consumer group last ID propagation to slave (NOACK=0)
665[ok]: Consumer group last ID propagation to slave (NOACK=1)
666[16/51 done]: unit/type/stream-cgroups (4 seconds)
667Testing unit/sort
668[ok]: Old Ziplist: SORT BY key
669[ok]: Old Ziplist: SORT BY key with limit
670[ok]: Old Ziplist: SORT BY hash field
671[ok]: Old Linked list: SORT BY key
672[ok]: Old Linked list: SORT BY key with limit
673[ok]: Old Linked list: SORT BY hash field
674[ok]: Old Big Linked list: SORT BY key
675[ok]: Old Big Linked list: SORT BY key with limit
676[ok]: Old Big Linked list: SORT BY hash field
677[ok]: Intset: SORT BY key
678[ok]: Intset: SORT BY key with limit
679[ok]: Intset: SORT BY hash field
680[ok]: Hash table: SORT BY key
681[ok]: Hash table: SORT BY key with limit
682[ok]: Hash table: SORT BY hash field
683[ok]: Big Hash table: SORT BY key
684[ok]: Big Hash table: SORT BY key with limit
685[ok]: Big Hash table: SORT BY hash field
686[ok]: SORT GET #
687[ok]: SORT GET <const>
688[ok]: SORT GET (key and hash) with sanity check
689[ok]: SORT BY key STORE
690[ok]: SORT BY hash field STORE
691[ok]: SORT extracts STORE correctly
692[ok]: SORT extracts multiple STORE correctly
693[ok]: SORT DESC
694[ok]: SORT ALPHA against integer encoded strings
695[ok]: SORT sorted set
696[ok]: SORT sorted set BY nosort should retain ordering
697[ok]: SORT sorted set BY nosort + LIMIT
698[ok]: SORT sorted set BY nosort works as expected from scripts
699[ok]: SORT sorted set: +inf and -inf handling
700[ok]: SORT regression for issue #19, sorting floats
701[ok]: SORT with STORE returns zero if result is empty (github issue 224)
702[ok]: SORT with STORE does not create empty lists (github issue 224)
703[ok]: SORT with STORE removes key if result is empty (github issue 227)
704[ok]: SORT with BY <constant> and STORE should still order output
705[ok]: SORT will complain with numerical sorting and bad doubles (1)
706[ok]: SORT will complain with numerical sorting and bad doubles (2)
707[ok]: SORT BY sub-sorts lexicographically if score is the same
708[ok]: SORT GET with pattern ending with just -> does not get hash field
709[ok]: SORT by nosort retains native order for lists
710[ok]: SORT by nosort plus store retains native order for lists
711[ok]: SORT by nosort with limit returns based on original list order
712[ok]: SORT speed, 100 element list BY key, 100 times
713[ok]: SORT speed, 100 element list BY hash field, 100 times
714[ok]: SORT speed, 100 element list directly, 100 times
715[ok]: SORT speed, 100 element list BY <const>, 100 times
716[17/51 done]: unit/sort (213 seconds)
717Testing unit/expire
718[ok]: EXPIRE - set timeouts multiple times
719[ok]: EXPIRE - It should be still possible to read 'x'
720[ok]: EXPIRE - After 2.1 seconds the key should no longer be here
721[ok]: EXPIRE - write on expire should work
722[ok]: EXPIREAT - Check for EXPIRE alike behavior
723[ok]: SETEX - Set + Expire combo operation. Check for TTL
724[ok]: SETEX - Check value
725[ok]: SETEX - Overwrite old key
726[ok]: SETEX - Wait for the key to expire
727[ok]: SETEX - Wrong time parameter
728[ok]: PERSIST can undo an EXPIRE
729[ok]: PERSIST returns 0 against non existing or non volatile keys
730[ok]: EXPIRE pricision is now the millisecond
731[ok]: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires
732[ok]: TTL returns time to live in seconds
733[ok]: PTTL returns time to live in milliseconds
734[ok]: TTL / PTTL return -1 if key has no expire
735[ok]: TTL / PTTL return -2 if key does not exit
736[ok]: Redis should actively expire keys incrementally
737[ok]: Redis should lazy expire keys
738[ok]: EXPIRE should not resurrect keys (issue #1026)
739[ok]: 5 keys in, 5 keys out
740[ok]: EXPIRE with empty string as TTL should report an error
741[ok]: SET - use EX/PX option, TTL should not be reseted after loadaof
742[18/51 done]: unit/expire (16 seconds)
743Testing unit/other
744[ok]: SAVE - make sure there are all the types as values
745[ok]: FUZZ stresser with data model binary
746[ok]: FUZZ stresser with data model alpha
747[ok]: FUZZ stresser with data model compr
748[ok]: BGSAVE
749[ok]: SELECT an out of range DB
750[ok]: EXPIRES after a reload (snapshot + append only file rewrite)
751[ok]: EXPIRES after AOF reload (without rewrite)
752[ok]: PIPELINING stresser (also a regression for the old epoll bug)
753[ok]: APPEND basics
754[ok]: APPEND basics, integer encoded values
755[ok]: APPEND fuzzing
756[ok]: FLUSHDB
757[ok]: Perform a final SAVE to leave a clean DB on disk
758[19/51 done]: unit/other (100 seconds)
759Testing unit/multi
760[ok]: MUTLI / EXEC basics
761[ok]: DISCARD
762[ok]: Nested MULTI are not allowed
763[ok]: MULTI where commands alter argc/argv
764[ok]: WATCH inside MULTI is not allowed
765[ok]: EXEC fails if there are errors while queueing commands #1
766[ok]: EXEC fails if there are errors while queueing commands #2
767[ok]: If EXEC aborts, the client MULTI state is cleared
768[ok]: EXEC works on WATCHed key not modified
769[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched)
770[ok]: EXEC fail on WATCHed key modified (1 key of 5 watched)
771[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty
772[ok]: After successful EXEC key is no longer watched
773[ok]: After failed EXEC key is no longer watched
774[ok]: It is possible to UNWATCH
775[ok]: UNWATCH when there is nothing watched works as expected
776[ok]: FLUSHALL is able to touch the watched keys
777[ok]: FLUSHALL does not touch non affected keys
778[ok]: FLUSHDB is able to touch the watched keys
779[ok]: FLUSHDB does not touch non affected keys
780[ok]: WATCH is able to remember the DB a key belongs to
781[ok]: WATCH will consider touched keys target of EXPIRE
782[ok]: WATCH will not consider touched expired keys
783[ok]: DISCARD should clear the WATCH dirty flag on the client
784[ok]: DISCARD should UNWATCH all the keys
785[ok]: MULTI / EXEC is propagated correctly (single write command)
786[ok]: MULTI / EXEC is propagated correctly (empty transaction)
787[ok]: MULTI / EXEC is propagated correctly (read-only commands)
788[ok]: MULTI / EXEC is propagated correctly (write command, no effect)
789[20/51 done]: unit/multi (3 seconds)
790Testing unit/quit
791[ok]: QUIT returns OK
792[ok]: Pipelined commands after QUIT must not be executed
793[ok]: Pipelined commands after QUIT that exceed read buffer size
794[21/51 done]: unit/quit (0 seconds)
795Testing unit/aofrw
796[ok]: AOF rewrite during write load: RDB preamble=yes
797[ok]: AOF rewrite during write load: RDB preamble=no
798[ok]: Turning off AOF kills the background writing child if any
799[ok]: AOF rewrite of list with quicklist encoding, string data
800[ok]: AOF rewrite of list with quicklist encoding, int data
801[ok]: AOF rewrite of set with intset encoding, string data
802[ok]: AOF rewrite of set with hashtable encoding, string data
803[ok]: AOF rewrite of set with intset encoding, int data
804[ok]: AOF rewrite of set with hashtable encoding, int data
805[ok]: AOF rewrite of hash with ziplist encoding, string data
806[ok]: AOF rewrite of hash with hashtable encoding, string data
807[ok]: AOF rewrite of hash with ziplist encoding, int data
808[ok]: AOF rewrite of hash with hashtable encoding, int data
809[ok]: AOF rewrite of zset with ziplist encoding, string data
810[ok]: AOF rewrite of zset with skiplist encoding, string data
811[ok]: AOF rewrite of zset with ziplist encoding, int data
812[ok]: AOF rewrite of zset with skiplist encoding, int data
813[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress
814[ok]: BGREWRITEAOF is refused if already in progress
815[22/51 done]: unit/aofrw (62 seconds)
816Testing unit/acl
817[ok]: Connections start with the default user
818[ok]: It is possible to create new users
819[ok]: New users start disabled
820[ok]: Enabling the user allows the login
821[ok]: Only the set of correct passwords work
822[ok]: It is possible to remove passwords from the set of valid ones
823[ok]: By default users are not able to access any command
824[ok]: By default users are not able to access any key
825[ok]: It's possible to allow the access of a subset of keys
826[ok]: Users can be configured to authenticate with any password
827[ok]: ACLs can exclude single commands
828[ok]: ACLs can include or excluse whole classes of commands
829[ok]: ACLs can include single subcommands
830[ok]: ACL GETUSER is able to translate back command permissions
831[ok]: ACL #5998 regression: memory leaks adding / removing subcommands
832[23/51 done]: unit/acl (1 seconds)
833Testing integration/block-repl
834[ok]: First server should have role slave after SLAVEOF
835[ok]: Test replication with blocking lists and sorted sets operations
836[24/51 done]: integration/block-repl (28 seconds)
837Testing integration/replication
838[ok]: Slave enters handshake
839[ok]: Slave is able to detect timeout during handshake
840[ok]: Set instance A as slave of B
841[ok]: BRPOPLPUSH replication, when blocking against empty list
842[ok]: BRPOPLPUSH replication, list exists
843[ok]: BLPOP followed by role change, issue #2473
844[ok]: Second server should have role master at first
845[ok]: SLAVEOF should start with link status "down"
846[ok]: The role should immediately be changed to "replica"
847[ok]: Sync should have transferred keys from master
848[ok]: The link status should be up
849[ok]: SET on the master should immediately propagate
850[ok]: FLUSHALL should replicate
851[ok]: ROLE in master reports master with a slave
852[ok]: ROLE in slave reports slave in connected state
853[ok]: Connect multiple replicas at the same time (issue #141), diskless=no
854[ok]: Connect multiple replicas at the same time (issue #141), diskless=yes
855[ok]: Master stream is correctly processed while the replica has a script in -BUSY state
856[25/51 done]: integration/replication (290 seconds)
857Testing integration/replication-2
858[ok]: First server should have role slave after SLAVEOF
859[ok]: If min-slaves-to-write is honored, write is accepted
860[ok]: No write if min-slaves-to-write is < attached slaves
861[ok]: If min-slaves-to-write is honored, write is accepted (again)
862[ok]: No write if min-slaves-max-lag is > of the slave lag
863[ok]: min-slaves-to-write is ignored by slaves
864[ok]: MASTER and SLAVE dataset should be identical after complex ops
865[26/51 done]: integration/replication-2 (154 seconds)
866Testing integration/replication-3
867[ok]: First server should have role slave after SLAVEOF
868[ok]: MASTER and SLAVE consistency with expire
869[ok]: Slave is able to evict keys created in writable slaves
870[ok]: First server should have role slave after SLAVEOF
871[ok]: MASTER and SLAVE consistency with EVALSHA replication
872[ok]: SLAVE can reload "lua" AUX RDB fields of duplicated scripts
873[27/51 done]: integration/replication-3 (336 seconds)
874Testing integration/replication-4
875[ok]: First server should have role slave after SLAVEOF
876[ok]: Test replication with parallel clients writing in differnet DBs
877[ok]: First server should have role slave after SLAVEOF
878[ok]: With min-slaves-to-write (1,3): master should be writable
879[ok]: With min-slaves-to-write (2,3): master should not be writable
880[ok]: With min-slaves-to-write: master not writable with lagged slave
881[ok]: First server should have role slave after SLAVEOF
882[ok]: Replication: commands with many arguments (issue #1221)
883[ok]: Replication of SPOP command -- alsoPropagate() API
884[28/51 done]: integration/replication-4 (433 seconds)
885Testing integration/replication-psync
886[ok]: Slave should be able to synchronize with the master
887[ok]: Detect write load to master
888[ok]: Test replication partial resync: no reconnection, just sync (diskless: no, reconnect: 0)
889[ok]: Slave should be able to synchronize with the master
890[ok]: Detect write load to master
891[ok]: Test replication partial resync: ok psync (diskless: no, reconnect: 1)
892[ok]: Slave should be able to synchronize with the master
893[ok]: Detect write load to master
894[ok]: Test replication partial resync: no backlog (diskless: no, reconnect: 1)
895[ok]: Slave should be able to synchronize with the master
896[ok]: Detect write load to master
897[ok]: Test replication partial resync: ok after delay (diskless: no, reconnect: 1)
898[ok]: Slave should be able to synchronize with the master
899[ok]: Detect write load to master
900[ok]: Test replication partial resync: backlog expired (diskless: no, reconnect: 1)
901[ok]: Slave should be able to synchronize with the master
902[ok]: Detect write load to master
903[ok]: Test replication partial resync: no reconnection, just sync (diskless: yes, reconnect: 0)
904[ok]: Slave should be able to synchronize with the master
905[ok]: Detect write load to master
906[ok]: Test replication partial resync: ok psync (diskless: yes, reconnect: 1)
907[ok]: Slave should be able to synchronize with the master
908[ok]: Detect write load to master
909[ok]: Test replication partial resync: no backlog (diskless: yes, reconnect: 1)
910[ok]: Slave should be able to synchronize with the master
911[ok]: Detect write load to master
912[ok]: Test replication partial resync: ok after delay (diskless: yes, reconnect: 1)
913[ok]: Slave should be able to synchronize with the master
914[ok]: Detect write load to master
915[ok]: Test replication partial resync: backlog expired (diskless: yes, reconnect: 1)
916[29/51 done]: integration/replication-psync (154 seconds)
917Testing integration/aof
918[ok]: Unfinished MULTI: Server should start if load-truncated is yes
919[ok]: Short read: Server should start if load-truncated is yes
920[ok]: Truncated AOF loaded: we expect foo to be equal to 5
921[ok]: Append a new command after loading an incomplete AOF
922[ok]: Short read + command: Server should start
923[ok]: Truncated AOF loaded: we expect foo to be equal to 6 now
924[ok]: Bad format: Server should have logged an error
925[ok]: Unfinished MULTI: Server should have logged an error
926[ok]: Short read: Server should have logged an error
927[ok]: Short read: Utility should confirm the AOF is not valid
928[ok]: Short read: Utility should be able to fix the AOF
929[ok]: Fixed AOF: Server should have been started
930[ok]: Fixed AOF: Keyspace should contain values that were parseable
931[ok]: AOF+SPOP: Server should have been started
932[ok]: AOF+SPOP: Set should have 1 member
933[ok]: AOF+SPOP: Server should have been started
934[ok]: AOF+SPOP: Set should have 1 member
935[ok]: AOF+EXPIRE: Server should have been started
936[ok]: AOF+EXPIRE: List should be empty
937[ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1
938[30/51 done]: integration/aof (6 seconds)
939Testing integration/rdb
940[ok]: RDB encoding loading test
941[ok]: Server started empty with non-existing RDB file
942[ok]: Server started empty with empty RDB file
943[ok]: Test RDB stream encoding
944[ok]: Server should not start if RDB file can't be open
945[ok]: Server should not start if RDB is corrupted
946[31/51 done]: integration/rdb (5 seconds)
947Testing integration/convert-zipmap-hash-on-load
948[ok]: RDB load zipmap hash: converts to ziplist
949[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded
950[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded
951[32/51 done]: integration/convert-zipmap-hash-on-load (2 seconds)
952Testing integration/logging
953[ok]: Server is able to generate a stack trace on selected systems
954[33/51 done]: integration/logging (1 seconds)
955Testing integration/psync2
956[ok]: PSYNC2: --- CYCLE 1 ---
957[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master
958[ok]: PSYNC2: Set #3 to replicate from #1
959[ok]: PSYNC2: Set #4 to replicate from #3
960[ok]: PSYNC2: Set #0 to replicate from #4
961[ok]: PSYNC2: Set #2 to replicate from #4
962[ok]: PSYNC2: cluster is consistent after failover
963[ok]: PSYNC2: generate load while killing replication links
964[ok]: PSYNC2: cluster is consistent after load (x = 1599)
965[ok]: PSYNC2: total sum of full synchronizations is exactly 4
966[ok]: PSYNC2: --- CYCLE 2 ---
967[ok]: PSYNC2: [NEW LAYOUT] Set #3 as master
968[ok]: PSYNC2: Set #4 to replicate from #3
969[ok]: PSYNC2: Set #0 to replicate from #3
970[ok]: PSYNC2: Set #1 to replicate from #3
971[ok]: PSYNC2: Set #2 to replicate from #4
972[ok]: PSYNC2: cluster is consistent after failover
973[ok]: PSYNC2: generate load while killing replication links
974[ok]: PSYNC2: cluster is consistent after load (x = 3133)
975[ok]: PSYNC2: total sum of full synchronizations is exactly 4
976[ok]: PSYNC2: --- CYCLE 3 ---
977[ok]: PSYNC2: [NEW LAYOUT] Set #1 as master
978[ok]: PSYNC2: Set #0 to replicate from #1
979[ok]: PSYNC2: Set #4 to replicate from #0
980[ok]: PSYNC2: Set #3 to replicate from #0
981[ok]: PSYNC2: Set #2 to replicate from #0
982[ok]: PSYNC2: cluster is consistent after failover
983[ok]: PSYNC2: generate load while killing replication links
984[ok]: PSYNC2: cluster is consistent after load (x = 4773)
985[ok]: PSYNC2: total sum of full synchronizations is exactly 4
986[ok]: PSYNC2: Bring the master back again for next test
987[ok]: PSYNC2: Partial resync after restart using RDB aux fields
988[ok]: PSYNC2: Replica RDB restart with EVALSHA in backlog issue #4483
989[34/51 done]: integration/psync2 (29 seconds)
990Testing integration/psync2-reg
991[ok]: PSYNC2 #3899 regression: setup
992[ok]: PSYNC2 #3899 regression: kill chained replica
993[ok]: PSYNC2 #3899 regression: kill first replica
994[ok]: PSYNC2 #3899 regression: kill first replica
995[ok]: PSYNC2 #3899 regression: kill first replica
996[ok]: PSYNC2 #3899 regression: kill chained replica
997[ok]: PSYNC2 #3899 regression: kill first replica
998[ok]: PSYNC2 #3899 regression: kill chained replica
999[ok]: PSYNC2 #3899 regression: kill chained replica
1000[ok]: PSYNC2 #3899 regression: kill chained replica
1001[ok]: PSYNC2 #3899 regression: kill first replica
1002[ok]: PSYNC2 #3899 regression: kill chained replica
1003[ok]: PSYNC2 #3899 regression: kill first replica
1004[ok]: PSYNC2 #3899 regression: verify consistency
1005[35/51 done]: integration/psync2-reg (25 seconds)
1006Testing unit/pubsub
1007[ok]: Pub/Sub PING
1008[ok]: PUBLISH/SUBSCRIBE basics
1009[ok]: PUBLISH/SUBSCRIBE with two clients
1010[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments
1011[ok]: SUBSCRIBE to one channel more than once
1012[ok]: UNSUBSCRIBE from non-subscribed channels
1013[ok]: PUBLISH/PSUBSCRIBE basics
1014[ok]: PUBLISH/PSUBSCRIBE with two clients
1015[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments
1016[ok]: PUNSUBSCRIBE from non-subscribed channels
1017[ok]: NUMSUB returns numbers, not strings (#1561)
1018[ok]: Mix SUBSCRIBE and PSUBSCRIBE
1019[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply
1020[ok]: Keyspace notifications: we receive keyspace notifications
1021[ok]: Keyspace notifications: we receive keyevent notifications
1022[ok]: Keyspace notifications: we can receive both kind of events
1023[ok]: Keyspace notifications: we are able to mask events
1024[ok]: Keyspace notifications: general events test
1025[ok]: Keyspace notifications: list events test
1026[ok]: Keyspace notifications: set events test
1027[ok]: Keyspace notifications: zset events test
1028[ok]: Keyspace notifications: hash events test
1029[ok]: Keyspace notifications: expired events (triggered expire)
1030[ok]: Keyspace notifications: expired events (background expire)
1031[ok]: Keyspace notifications: evicted events
1032[ok]: Keyspace notifications: test CONFIG GET/SET of event flags
1033[36/51 done]: unit/pubsub (1 seconds)
1034Testing unit/slowlog
1035[ok]: SLOWLOG - check that it starts with an empty log
1036[ok]: SLOWLOG - only logs commands taking more time than specified
1037[ok]: SLOWLOG - max entries is correctly handled
1038[ok]: SLOWLOG - GET optional argument to limit output len works
1039[ok]: SLOWLOG - RESET subcommand works
1040[ok]: SLOWLOG - logged entry sanity check
1041[ok]: SLOWLOG - commands with too many arguments are trimmed
1042[ok]: SLOWLOG - too long arguments are trimmed
1043[ok]: SLOWLOG - EXEC is not logged, just executed commands
1044[ok]: SLOWLOG - can clean older entires
1045[ok]: SLOWLOG - can be disabled
1046[37/51 done]: unit/slowlog (2 seconds)
1047Testing unit/scripting
1048[ok]: EVAL - Does Lua interpreter replies to our requests?
1049[ok]: EVAL - Lua integer -> Redis protocol type conversion
1050[ok]: EVAL - Lua string -> Redis protocol type conversion
1051[ok]: EVAL - Lua true boolean -> Redis protocol type conversion
1052[ok]: EVAL - Lua false boolean -> Redis protocol type conversion
1053[ok]: EVAL - Lua status code reply -> Redis protocol type conversion
1054[ok]: EVAL - Lua error reply -> Redis protocol type conversion
1055[ok]: EVAL - Lua table -> Redis protocol type conversion
1056[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly?
1057[ok]: EVAL - is Lua able to call Redis API?
1058[ok]: EVALSHA - Can we call a SHA1 if already defined?
1059[ok]: EVALSHA - Can we call a SHA1 in uppercase?
1060[ok]: EVALSHA - Do we get an error on invalid SHA1?
1061[ok]: EVALSHA - Do we get an error on non defined SHA1?
1062[ok]: EVAL - Redis integer -> Lua type conversion
1063[ok]: EVAL - Redis bulk -> Lua type conversion
1064[ok]: EVAL - Redis multi bulk -> Lua type conversion
1065[ok]: EVAL - Redis status reply -> Lua type conversion
1066[ok]: EVAL - Redis error reply -> Lua type conversion
1067[ok]: EVAL - Redis nil bulk reply -> Lua type conversion
1068[ok]: EVAL - Is the Lua client using the currently selected DB?
1069[ok]: EVAL - SELECT inside Lua should not affect the caller
1070[ok]: EVAL - Scripts can't run certain commands
1071[ok]: EVAL - Scripts can't run certain commands
1072[ok]: EVAL - No arguments to redis.call/pcall is considered an error
1073[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
1074[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
1075[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
1076[ok]: EVAL - JSON numeric decoding
1077[ok]: EVAL - JSON string decoding
1078[ok]: EVAL - cmsgpack can pack double?
1079[ok]: EVAL - cmsgpack can pack negative int64?
1080[ok]: EVAL - cmsgpack can pack and unpack circular references?
1081[ok]: EVAL - Numerical sanity check from bitop
1082[ok]: EVAL - Verify minimal bitop functionality
1083[ok]: EVAL - Able to parse trailing comments
1084[ok]: SCRIPTING FLUSH - is able to clear the scripts cache?
1085[ok]: SCRIPT EXISTS - can detect already defined scripts?
1086[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache
1087[ok]: In the context of Lua the output of random commands gets ordered
1088[ok]: SORT is normally not alpha re-ordered for the scripting engine
1089[ok]: SORT BY <constant> output gets ordered for scripting
1090[ok]: SORT BY <constant> with GET gets ordered for scripting
1091[ok]: redis.sha1hex() implementation
1092[ok]: Globals protection reading an undeclared global variable
1093[ok]: Globals protection setting an undeclared global*
1094[ok]: Test an example script DECR_IF_GT
1095[ok]: Scripting engine resets PRNG at every script execution
1096[ok]: Scripting engine PRNG can be seeded correctly
1097[ok]: EVAL does not leak in the Lua stack
1098[ok]: EVAL processes writes from AOF in read-only slaves
1099[ok]: We can call scripts rewriting client->argv from Lua
1100[ok]: Call Redis command with many args from Lua (issue #1764)
1101[ok]: Number conversion precision test (issue #1118)
1102[ok]: String containing number precision test (regression of issue #1118)
1103[ok]: Verify negative arg count is error instead of crash (issue #1842)
1104[ok]: Correct handling of reused argv (issue #1939)
1105[ok]: Functions in the Redis namespace are able to report errors
1106[ok]: Timedout read-only scripts can be killed by SCRIPT KILL
1107[ok]: Timedout script link is still usable after Lua returns
1108[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL
1109[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway
1110[ok]: Before the replica connects we issue two EVAL commands (scripts replication)
1111[ok]: Connect a replica to the master instance (scripts replication)
1112[ok]: Now use EVALSHA against the master, with both SHAs (scripts replication)
1113[ok]: If EVALSHA was replicated as EVAL, 'x' should be '4' (scripts replication)
1114[ok]: Replication of script multiple pushes to list with BLPOP (scripts replication)
1115[ok]: EVALSHA replication when first call is readonly (scripts replication)
1116[ok]: Lua scripts using SELECT are replicated correctly (scripts replication)
1117[ok]: Before the replica connects we issue two EVAL commands (commmands replication)
1118[ok]: Connect a replica to the master instance (commmands replication)
1119[ok]: Now use EVALSHA against the master, with both SHAs (commmands replication)
1120[ok]: If EVALSHA was replicated as EVAL, 'x' should be '4' (commmands replication)
1121[ok]: Replication of script multiple pushes to list with BLPOP (commmands replication)
1122[ok]: EVALSHA replication when first call is readonly (commmands replication)
1123[ok]: Lua scripts using SELECT are replicated correctly (commmands replication)
1124[ok]: Connect a replica to the master instance
1125[ok]: Redis.replicate_commands() must be issued before any write
1126[ok]: Redis.replicate_commands() must be issued before any write (2)
1127[ok]: Redis.set_repl() must be issued after replicate_commands()
1128[ok]: Redis.set_repl() don't accept invalid values
1129[ok]: Test selective replication of certain Redis commands from Lua
1130[ok]: PRNG is seeded randomly for command replication
1131[ok]: Using side effects is not a problem with command replication
1132[38/51 done]: unit/scripting (28 seconds)
1133Testing unit/maxmemory
1134[ok]: Without maxmemory small integers are shared
1135[ok]: With maxmemory and non-LRU policy integers are still shared
1136[ok]: With maxmemory and LRU policy integers are not shared
1137[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random)
1138[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru)
1139[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lfu)
1140[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru)
1141[ok]: maxmemory - is the memory limit honoured? (policy volatile-lfu)
1142[ok]: maxmemory - is the memory limit honoured? (policy volatile-random)
1143[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl)
1144[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random)
1145[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru)
1146[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru)
1147[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random)
1148[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl)
1149[ok]: maxmemory - policy volatile-lru should only remove volatile keys.
1150[ok]: maxmemory - policy volatile-lfu should only remove volatile keys.
1151[ok]: maxmemory - policy volatile-random should only remove volatile keys.
1152[ok]: maxmemory - policy volatile-ttl should only remove volatile keys.
1153[ok]: slave buffer are counted correctly
1154[ok]: replica buffer don't induce eviction
1155[39/51 done]: unit/maxmemory (1408 seconds)
1156Testing unit/introspection
1157[ok]: CLIENT LIST
1158[ok]: MONITOR can log executed commands
1159[ok]: MONITOR can log commands issued by the scripting engine
1160[ok]: CLIENT GETNAME should return NIL if name is not assigned
1161[ok]: CLIENT LIST shows empty fields for unassigned names
1162[ok]: CLIENT SETNAME does not accept spaces
1163[ok]: CLIENT SETNAME can assign a name to this connection
1164[ok]: CLIENT SETNAME can change the name of an existing connection
1165[ok]: After CLIENT SETNAME, connection can still be closed
1166[40/51 done]: unit/introspection (1 seconds)
1167Testing unit/introspection-2
1168[ok]: TTL and TYPYE do not alter the last access time of a key
1169[ok]: TOUCH alters the last access time of a key
1170[ok]: TOUCH returns the number of existing keys specified
1171[ok]: command stats for GEOADD
1172[ok]: command stats for EXPIRE
1173[ok]: command stats for BRPOP
1174[ok]: command stats for MULTI
1175[ok]: command stats for scripts
1176[41/51 done]: unit/introspection-2 (7 seconds)
1177Testing unit/limits
1178[ok]: Check if maxclients works refusing connections
1179[42/51 done]: unit/limits (2 seconds)
1180Testing unit/obuf-limits
1181[ok]: Client output buffer hard limit is enforced
1182[ok]: Client output buffer soft limit is not enforced if time is not overreached
1183[ok]: Client output buffer soft limit is enforced if time is overreached
1184[43/51 done]: unit/obuf-limits (800 seconds)
1185Testing unit/bitops
1186[ok]: BITCOUNT returns 0 against non existing key
1187[ok]: BITCOUNT returns 0 with out of range indexes
1188[ok]: BITCOUNT returns 0 with negative indexes where start > end
1189[ok]: BITCOUNT against test vector #1
1190[ok]: BITCOUNT against test vector #2
1191[ok]: BITCOUNT against test vector #3
1192[ok]: BITCOUNT against test vector #4
1193[ok]: BITCOUNT against test vector #5
1194[ok]: BITCOUNT fuzzing without start/end
1195[ok]: BITCOUNT fuzzing with start/end
1196[ok]: BITCOUNT with start, end
1197[ok]: BITCOUNT syntax error #1
1198[ok]: BITCOUNT regression test for github issue #582
1199[ok]: BITCOUNT misaligned prefix
1200[ok]: BITCOUNT misaligned prefix + full words + remainder
1201[ok]: BITOP NOT (empty string)
1202[ok]: BITOP NOT (known string)
1203[ok]: BITOP where dest and target are the same key
1204[ok]: BITOP AND|OR|XOR don't change the string with single input key
1205[ok]: BITOP missing key is considered a stream of zero
1206[ok]: BITOP shorter keys are zero-padded to the key with max length
1207[ok]: BITOP and fuzzing
1208[ok]: BITOP or fuzzing
1209[ok]: BITOP xor fuzzing
1210[ok]: BITOP NOT fuzzing
1211[ok]: BITOP with integer encoded source objects
1212[ok]: BITOP with non string source key
1213[ok]: BITOP with empty string after non empty string (issue #529)
1214[ok]: BITPOS bit=0 with empty key returns 0
1215[ok]: BITPOS bit=1 with empty key returns -1
1216[ok]: BITPOS bit=0 with string less than 1 word works
1217[ok]: BITPOS bit=1 with string less than 1 word works
1218[ok]: BITPOS bit=0 starting at unaligned address
1219[ok]: BITPOS bit=1 starting at unaligned address
1220[ok]: BITPOS bit=0 unaligned+full word+reminder
1221[ok]: BITPOS bit=1 unaligned+full word+reminder
1222[ok]: BITPOS bit=1 returns -1 if string is all 0 bits
1223[ok]: BITPOS bit=0 works with intervals
1224[ok]: BITPOS bit=1 works with intervals
1225[ok]: BITPOS bit=0 changes behavior if end is given
1226[ok]: BITPOS bit=1 fuzzy testing using SETBIT
1227[ok]: BITPOS bit=0 fuzzy testing using SETBIT
1228[44/51 done]: unit/bitops (51 seconds)
1229Testing unit/bitfield
1230[ok]: BITFIELD signed SET and GET basics
1231[ok]: BITFIELD unsigned SET and GET basics
1232[ok]: BITFIELD #<idx> form
1233[ok]: BITFIELD basic INCRBY form
1234[ok]: BITFIELD chaining of multiple commands
1235[ok]: BITFIELD unsigned overflow wrap
1236[ok]: BITFIELD unsigned overflow sat
1237[ok]: BITFIELD signed overflow wrap
1238[ok]: BITFIELD signed overflow sat
1239[ok]: BITFIELD overflow detection fuzzing
1240[ok]: BITFIELD overflow wrap fuzzing
1241[ok]: BITFIELD regression for #3221
1242[ok]: BITFIELD regression for #3564
1243[45/51 done]: unit/bitfield (13 seconds)
1244Testing unit/geo
1245[ok]: GEOADD create
1246[ok]: GEOADD update
1247[ok]: GEOADD invalid coordinates
1248[ok]: GEOADD multi add
1249[ok]: Check geoset values
1250[ok]: GEORADIUS simple (sorted)
1251[ok]: GEORADIUS withdist (sorted)
1252[ok]: GEORADIUS with COUNT
1253[ok]: GEORADIUS with COUNT but missing integer argument
1254[ok]: GEORADIUS with COUNT DESC
1255[ok]: GEORADIUS HUGE, issue #2767
1256[ok]: GEORADIUSBYMEMBER simple (sorted)
1257[ok]: GEORADIUSBYMEMBER withdist (sorted)
1258[ok]: GEOHASH is able to return geohash strings
1259[ok]: GEOPOS simple
1260[ok]: GEOPOS missing element
1261[ok]: GEODIST simple & unit
1262[ok]: GEODIST missing elements
1263[ok]: GEORADIUS STORE option: syntax error
1264[ok]: GEORANGE STORE option: incompatible options
1265[ok]: GEORANGE STORE option: plain usage
1266[ok]: GEORANGE STOREDIST option: plain usage
1267[ok]: GEORANGE STOREDIST option: COUNT ASC and DESC
1268[ok]: GEOADD + GEORANGE randomized test
1269[46/51 done]: unit/geo (526 seconds)
1270Testing unit/memefficiency
1271[ok]: Memory efficiency with values in range 32
1272[ok]: Memory efficiency with values in range 64
1273[ok]: Memory efficiency with values in range 128
1274[ok]: Memory efficiency with values in range 1024
1275[ok]: Memory efficiency with values in range 16384
1276[47/51 done]: unit/memefficiency (93 seconds)
1277Testing unit/hyperloglog
1278[ok]: HyperLogLog self test passes
1279[ok]: PFADD without arguments creates an HLL value
1280[ok]: Approximated cardinality after creation is zero
1281[ok]: PFADD returns 1 when at least 1 reg was modified
1282[ok]: PFADD returns 0 when no reg was modified
1283[ok]: PFADD works with empty string (regression)
1284[ok]: PFCOUNT returns approximated cardinality of set
1285[ok]: HyperLogLogs are promote from sparse to dense
1286[ok]: HyperLogLog sparse encoding stress test
1287[ok]: Corrupted sparse HyperLogLogs are detected: Additionl at tail
1288[ok]: Corrupted sparse HyperLogLogs are detected: Broken magic
1289[ok]: Corrupted sparse HyperLogLogs are detected: Invalid encoding
1290[ok]: Corrupted dense HyperLogLogs are detected: Wrong length
1291[ok]: Fuzzing dense/sparse encoding: Redis should always detect errors
1292[ok]: PFADD, PFCOUNT, PFMERGE type checking works
1293[ok]: PFMERGE results on the cardinality of union of sets
1294[ok]: PFCOUNT multiple-keys merge returns cardinality of union #1
1295[ok]: PFCOUNT multiple-keys merge returns cardinality of union #2
1296[ok]: PFDEBUG GETREG returns the HyperLogLog raw registers
1297[ok]: PFADD / PFCOUNT cache invalidation works
1298[48/51 done]: unit/hyperloglog (415 seconds)
1299Testing unit/lazyfree
1300[ok]: UNLINK can reclaim memory in background
1301[ok]: FLUSHDB ASYNC can reclaim memory in background
1302[49/51 done]: unit/lazyfree (12 seconds)
1303Testing unit/wait
1304[ok]: Setup slave
1305[ok]: WAIT should acknowledge 1 additional copy of the data
1306[ok]: WAIT should not acknowledge 2 additional copies of the data
1307[ok]: WAIT should not acknowledge 1 additional copy if slave is blocked
1308[50/51 done]: unit/wait (8 seconds)
1309Testing unit/pendingquerybuf
1310[ok]: pending querybuf: check size of pending_querybuf after set a big value
1311[51/51 done]: unit/pendingquerybuf (77 seconds)
1312
1313 The End
1314
1315Execution time of different units:
1316 0 seconds - unit/printver
1317 148 seconds - unit/dump
1318 1 seconds - unit/auth
1319 15 seconds - unit/protocol
1320 2 seconds - unit/keyspace
1321 98 seconds - unit/scan
1322 100 seconds - unit/type/string
1323 1 seconds - unit/type/incr
1324 28 seconds - unit/type/list
1325 321 seconds - unit/type/list-2
1326 328 seconds - unit/type/list-3
1327 124 seconds - unit/type/set
1328 169 seconds - unit/type/zset
1329 96 seconds - unit/type/hash
1330 648 seconds - unit/type/stream
1331 4 seconds - unit/type/stream-cgroups
1332 213 seconds - unit/sort
1333 16 seconds - unit/expire
1334 100 seconds - unit/other
1335 3 seconds - unit/multi
1336 0 seconds - unit/quit
1337 62 seconds - unit/aofrw
1338 1 seconds - unit/acl
1339 28 seconds - integration/block-repl
1340 290 seconds - integration/replication
1341 154 seconds - integration/replication-2
1342 336 seconds - integration/replication-3
1343 433 seconds - integration/replication-4
1344 154 seconds - integration/replication-psync
1345 6 seconds - integration/aof
1346 5 seconds - integration/rdb
1347 2 seconds - integration/convert-zipmap-hash-on-load
1348 1 seconds - integration/logging
1349 29 seconds - integration/psync2
1350 25 seconds - integration/psync2-reg
1351 1 seconds - unit/pubsub
1352 2 seconds - unit/slowlog
1353 28 seconds - unit/scripting
1354 1408 seconds - unit/maxmemory
1355 1 seconds - unit/introspection
1356 7 seconds - unit/introspection-2
1357 2 seconds - unit/limits
1358 800 seconds - unit/obuf-limits
1359 51 seconds - unit/bitops
1360 13 seconds - unit/bitfield
1361 526 seconds - unit/geo
1362 93 seconds - unit/memefficiency
1363 415 seconds - unit/hyperloglog
1364 12 seconds - unit/lazyfree
1365 8 seconds - unit/wait
1366 77 seconds - unit/pendingquerybuf
1367
1368\o/ All tests passed without errors!
1369
1370Cleanup: may take some time... OK