RedisCI

Details for run #49 (err)

redis-2.6 (9316362)

Tue Nov 19 02:31:24 CET 2013

Error in: bash -c "export TERM=redis-test; tclsh tests/test_helper.tcl"

@cd /home/tryredis/ci/redis-2.6

Working dir is now '/home/tryredis/ci/redis-2.6'

@git checkout .


@git checkout 2.6

Already on '2.6'

@git pull origin 2.6

From http://github.com/antirez/redis
 * branch            2.6        -> FETCH_HEAD
Already up-to-date.

@make clean

cd src && make clean
make[1]: Entering directory '/home/tryredis/ci/redis-2.6/src'
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html
make[1]: Leaving directory '/home/tryredis/ci/redis-2.6/src'

@make V=1

cd src && make all
make[1]: Entering directory '/home/tryredis/ci/redis-2.6/src'
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c adlist.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c ae.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c anet.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c dict.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c redis.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c sds.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c zmalloc.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c lzf_c.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c lzf_d.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c pqsort.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c zipmap.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c sha1.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c ziplist.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c release.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c networking.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c util.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c object.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c db.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c replication.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c rdb.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c t_string.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c t_list.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c t_set.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c t_zset.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c t_hash.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c config.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c aof.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c pubsub.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c multi.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c debug.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c sort.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c intset.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c syncio.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c migrate.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c endianconv.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c slowlog.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c scripting.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c bio.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c rio.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c rand.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c memtest.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c crc64.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c bitops.c
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c sentinel.c
cc   -g -rdynamic -ggdb -o redis-server adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o pubsub.o multi.o debug.o sort.o intset.o syncio.o migrate.o endianconv.o slowlog.o scripting.o bio.o rio.o rand.o memtest.o crc64.o bitops.o sentinel.o ../deps/hiredis/libhiredis.a ../deps/lua/src/liblua.a -lm -pthread ../deps/jemalloc/lib/libjemalloc.a -ldl
cp -pf redis-server redis-sentinel
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c redis-cli.c
cc   -g -rdynamic -ggdb -o redis-cli anet.o sds.o adlist.o redis-cli.o zmalloc.o release.o ae.o ../deps/hiredis/libhiredis.a ../deps/linenoise/linenoise.o -lm -pthread ../deps/jemalloc/lib/libjemalloc.a -ldl
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c redis-benchmark.c
cc   -g -rdynamic -ggdb -o redis-benchmark ae.o anet.o redis-benchmark.o sds.o adlist.o zmalloc.o ../deps/hiredis/libhiredis.a -lm -pthread ../deps/jemalloc/lib/libjemalloc.a -ldl
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c redis-check-dump.c
cc   -g -rdynamic -ggdb -o redis-check-dump redis-check-dump.o lzf_c.o lzf_d.o crc64.o -lm -pthread ../deps/jemalloc/lib/libjemalloc.a -ldl
cc -std=c99 -pedantic -Wall -O2 -g -rdynamic -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include -c redis-check-aof.c
cc   -g -rdynamic -ggdb -o redis-check-aof redis-check-aof.o -lm -pthread ../deps/jemalloc/lib/libjemalloc.a -ldl

Hint: To run 'make test' is a good idea ;)

make[1]: Leaving directory '/home/tryredis/ci/redis-2.6/src'

@bash -c "export TERM=redis-test; tclsh tests/test_helper.tcl"


Cleanup: may take some time... OK
Starting test server at port 11111
[ready]: 30824
Testing unit/printver
[ready]: 30827
Testing unit/auth
[ready]: 30830
Testing unit/protocol
[ready]: 30833
Testing unit/basic
[ready]: 30836
Testing unit/type/list
[ready]: 30839
Testing unit/type/list-2
[ready]: 30841
Testing unit/type/list-3
[ready]: 30845
Testing unit/type/set
[ready]: 30848
Testing unit/type/zset
[ready]: 30851
Testing unit/type/hash
[ready]: 30854
Testing unit/sort
[ready]: 30856
Testing unit/expire
[ready]: 30859
Testing unit/other
[ready]: 30862
Testing unit/multi
[ready]: 30865
Testing unit/quit
[ready]: 30869
Testing unit/aofrw
[ok]: HSET/HLEN - Small hash creation
[ok]: Is the small hash encoded with a ziplist?
[ok]: Explicit regression for a list bug
[ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - regular set
[ok]: SADD, SCARD, SISMEMBER, SMEMBERS basics - intset
[ok]: QUIT returns OK
[ok]: Pipelined commands after QUIT must not be executed
[ok]: Pipelined commands after QUIT that exceed read buffer size
[ok]: SADD against non set
[ok]: SADD a non-integer against an intset
[ok]: SADD an integer larger than 64 bits
[ok]: EXPIRE - set timeouts multiple times
[ok]: EXPIRE - It should be still possible to read 'x'
[ok]: AUTH fails if there is no password configured server side
Testing Redis version 2.6.16 (9316362a)
[ok]: SAVE - make sure there are all the types as values
[ok]: MUTLI / EXEC basics
[ok]: DISCARD
[ok]: Nested MULTI are not allowed
[ok]: MULTI where commands alter argc/argv
[ok]: WATCH inside MULTI is not allowed
[ok]: EXEC fails if there are errors while queueing commands #1
[ok]: EXEC fails if there are errors while queueing commands #2
[ok]: If EXEC aborts, the client MULTI state is cleared
[ok]: Check encoding - ziplist
[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - ziplist
[ok]: LPUSH, RPUSH, LLENGTH, LINDEX, LPOP - regular list
[ok]: EXEC works on WATCHed key not modified
[ok]: DEL all keys to start with a clean DB
[ok]: SET and GET an item
[ok]: SET and GET an empty item
[ok]: ZSET basic ZADD and score update - ziplist
[ok]: DEL against a single item
[ok]: Ziplist: SORT BY key
[ok]: EXEC fail on WATCHed key modified (1 key of 1 watched)
[ok]: ZSET element can't be set to NaN with ZADD - ziplist
[ok]: ZSET element can't be set to NaN with ZINCRBY
[ok]: Handle an empty query
[ok]: Vararg DEL
[ok]: ZINCRBY calls leading to NaN result in error
[ok]: ZADD - Variadic version base case
[ok]: KEYS with pattern
[ok]: ZADD - Return value is the number of actually added items
[ok]: KEYS to get all keys
[ok]: EXEC fail on WATCHed key modified (1 key of 5 watched)
[ok]: DBSIZE
[ok]: ZADD - Variadic version does not add nothing on single parsing err
[ok]: ZADD - Variadic version will raise error on missing arg
[ok]: DEL all keys
[ok]: ZINCRBY does not work variadic even if shares ZADD implementation
[ok]: ZCARD basics - ziplist
[ok]: R/LPOP against empty list
[ok]: ZREM removes key after last element is removed
[ok]: Variadic RPUSH/LPUSH
[ok]: ZREM variadic version
[ok]: DEL a list - ziplist
[ok]: EXEC fail on WATCHed key modified by SORT with STORE even if the result is empty
[ok]: ZREM variadic version -- remove elements after key deletion
[ok]: DEL a list - regular list
[ok]: Negative multibulk length
[ok]: Out of range multibulk length
[ok]: Wrong multibulk payload header
[ok]: BLPOP, BRPOP: single existing list - linkedlist
[ok]: ZRANGE basics - ziplist
[ok]: After successful EXEC key is no longer watched
[ok]: Ziplist: SORT BY key with limit
[ok]: Negative multibulk payload length
[ok]: Ziplist: SORT BY hash field
[ok]: Out of range multibulk payload length
[ok]: Non-number multibulk payload length
[ok]: BLPOP, BRPOP: multiple existing lists - linkedlist
[ok]: Multi bulk request not followed by bulk arguments
[ok]: ZREVRANGE basics - ziplist
[ok]: Generic wrong number of args
[ok]: After failed EXEC key is no longer watched
[ok]: BLPOP, BRPOP: second list has an entry - linkedlist
[ok]: It is possible to UNWATCH
[ok]: UNWATCH when there is nothing watched works as expected
[ok]: ZRANK/ZREVRANK basics - ziplist
[ok]: BRPOPLPUSH - linkedlist
[ok]: ZRANK - after deletion - ziplist
[ok]: ZINCRBY - can create a new sorted set - ziplist
[ok]: BLPOP, BRPOP: single existing list - ziplist
[ok]: ZINCRBY - increment and decrement - ziplist
[ok]: FLUSHALL is able to touch the watched keys
[ok]: FLUSHALL does not touch non affected keys
[ok]: FLUSHDB is able to touch the watched keys
[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics
[ok]: FLUSHDB does not touch non affected keys
[ok]: ZRANGEBYSCORE with WITHSCORES
[ok]: WATCH is able to remember the DB a key belongs to
[ok]: BLPOP, BRPOP: multiple existing lists - ziplist
[ok]: WATCH will consider touched keys target of EXPIRE
[ok]: ZRANGEBYSCORE with LIMIT
[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES
[ok]: SADD overflows the maximum allowed integers in an intset
[ok]: Variadic SADD
[ok]: ZRANGEBYSCORE with non-value min or max
[ok]: BLPOP, BRPOP: second list has an entry - ziplist
[ok]: BRPOPLPUSH - ziplist
[ok]: BLPOP, LPUSH + DEL should not awake blocked client
[1/32 done]: unit/quit (0 seconds)
Testing integration/replication
[ok]: ZREMRANGEBYSCORE basics
[ok]: ZREMRANGEBYSCORE with non-value min or max
[ok]: BLPOP, LPUSH + DEL + SET should not awake blocked client
[2/32 done]: unit/printver (0 seconds)
Testing integration/replication-2
[ok]: BLPOP with same key multiple times should work (issue #801)
[ok]: ZREMRANGEBYRANK basics
[ok]: ZUNIONSTORE against non-existing key doesn't set destination - ziplist
[ok]: ZUNIONSTORE with empty set - ziplist
[ok]: ZUNIONSTORE basics - ziplist
[ok]: ZUNIONSTORE with weights - ziplist
[ok]: ZUNIONSTORE with a regular set and weights - ziplist
[ok]: ZUNIONSTORE with AGGREGATE MIN - ziplist
[ok]: ZUNIONSTORE with AGGREGATE MAX - ziplist
[ok]: ZINTERSTORE basics - ziplist
[ok]: ZINTERSTORE with weights - ziplist
[ok]: MULTI/EXEC is isolated from the point of view of BLPOP
[ok]: ZINTERSTORE with a regular set and weights - ziplist
[ok]: ZINTERSTORE with AGGREGATE MIN - ziplist
[ok]: ZINTERSTORE with AGGREGATE MAX - ziplist
[ok]: BLPOP with variadic LPUSH
[ok]: ZUNIONSTORE with +inf/-inf scores - ziplist
[ok]: ZUNIONSTORE with NaN weights ziplist
[ok]: ZINTERSTORE with +inf/-inf scores - ziplist
[ok]: ZINTERSTORE with NaN weights ziplist
[ok]: Check encoding - skiplist
[ok]: ZSET basic ZADD and score update - skiplist
[ok]: ZSET element can't be set to NaN with ZADD - skiplist
[ok]: ZSET element can't be set to NaN with ZINCRBY
[ok]: ZINCRBY calls leading to NaN result in error
[ok]: ZADD - Variadic version base case
[ok]: ZADD - Return value is the number of actually added items
[ok]: ZADD - Variadic version does not add nothing on single parsing err
[ok]: ZADD - Variadic version will raise error on missing arg
[ok]: ZINCRBY does not work variadic even if shares ZADD implementation
[ok]: ZCARD basics - skiplist
[ok]: ZREM removes key after last element is removed
[ok]: ZREM variadic version
[ok]: ZREM variadic version -- remove elements after key deletion
[ok]: ZRANGE basics - skiplist
[ok]: ZREVRANGE basics - skiplist
[ok]: ZRANK/ZREVRANK basics - skiplist
[ok]: ZRANK - after deletion - skiplist
[ok]: ZINCRBY - can create a new sorted set - skiplist
[ok]: ZINCRBY - increment and decrement - skiplist
[ok]: ZRANGEBYSCORE/ZREVRANGEBYSCORE/ZCOUNT basics
[ok]: ZRANGEBYSCORE with WITHSCORES
[ok]: ZRANGEBYSCORE with LIMIT
[ok]: ZRANGEBYSCORE with LIMIT and WITHSCORES
[ok]: ZRANGEBYSCORE with non-value min or max
[ok]: Protocol desync regression test #1
[ok]: ZREMRANGEBYSCORE basics
[ok]: ZREMRANGEBYSCORE with non-value min or max
[ok]: ZREMRANGEBYRANK basics
[ok]: ZUNIONSTORE against non-existing key doesn't set destination - skiplist
[ok]: ZUNIONSTORE with empty set - skiplist
[ok]: ZUNIONSTORE basics - skiplist
[ok]: ZUNIONSTORE with weights - skiplist
[ok]: ZUNIONSTORE with a regular set and weights - skiplist
[ok]: ZUNIONSTORE with AGGREGATE MIN - skiplist
[ok]: ZUNIONSTORE with AGGREGATE MAX - skiplist
[ok]: ZINTERSTORE basics - skiplist
[ok]: ZINTERSTORE with weights - skiplist
[ok]: ZINTERSTORE with a regular set and weights - skiplist
[ok]: ZINTERSTORE with AGGREGATE MIN - skiplist
[ok]: ZINTERSTORE with AGGREGATE MAX - skiplist
[ok]: ZUNIONSTORE with +inf/-inf scores - skiplist
[ok]: ZUNIONSTORE with NaN weights skiplist
[ok]: AUTH fails when a wrong password is given
[ok]: Arbitrary command gives an error when AUTH is required
[ok]: AUTH succeeds when the right password is given
[ok]: Once AUTH succeeded we can actually send commands to the server
[ok]: ZINTERSTORE with +inf/-inf scores - skiplist
[ok]: ZINTERSTORE with NaN weights skiplist
[ok]: ZINTERSTORE regression with two sets, intset+hashtable
[ok]: ZUNIONSTORE regression, should not create NaN in scores
[ok]: ZINTERSTORE #516 regression, mixed sets and ziplist zsets
[ok]: Very big payload in GET/SET
[ok]: HSET/HLEN - Big hash creation
[ok]: Is the big hash encoded with a ziplist?
[ok]: HGET against the small hash
[ok]: ZSCORE - ziplist
[ok]: Turning off AOF kills the background writing child if any
[ok]: Protocol desync regression test #2
[ok]: WATCH will not consider touched expired keys
[ok]: DISCARD should clear the WATCH dirty flag on the client
[ok]: DISCARD should UNWATCH all the keys
[ok]: MULTI / EXEC is propagated correctly (single write command)
[3/32 done]: unit/auth (1 seconds)
Testing integration/replication-3
[ok]: BRPOPLPUSH with zero timeout should block indefinitely
[ok]: ZSCORE after a DEBUG RELOAD - ziplist
[ok]: MULTI / EXEC is propagated correctly (empty transaction)
[ok]: HGET against the big hash
[ok]: HGET against non existing key
[ok]: HSET in update and insert mode
[ok]: HSETNX target key missing - small hash
[ok]: HSETNX target key exists - small hash
[ok]: Set encoding after DEBUG RELOAD
[ok]: SREM basics - regular set
[ok]: SREM basics - intset
[ok]: SREM with multiple arguments
[ok]: SREM variadic version with more args needed to destroy the key
[ok]: MULTI / EXEC is propagated correctly (read-only commands)
[ok]: HSETNX target key missing - big hash
[ok]: HSETNX target key exists - big hash
[ok]: HMSET wrong number of args
[ok]: HMSET - small hash
[ok]: MULTI / EXEC is propagated correctly (write command, no effect)
[ok]: First server should have role slave after SLAVEOF
[ok]: ZSET sorting stresser - ziplist
[ok]: BRPOPLPUSH replication, when blocking against empty list
[ok]: HMSET - big hash
[ok]: HMGET against non existing key and fields
[ok]: HMGET against wrong type
[ok]: HMGET - small hash
[ok]: HMGET - big hash
[ok]: Protocol desync regression test #3
[ok]: Linked list: SORT BY key
[ok]: HKEYS - small hash
[ok]: Linked list: SORT BY key with limit
[ok]: Linked list: SORT BY hash field
[ok]: Generated sets must be encoded as hashtable
[ok]: SINTER with two sets - hashtable
[ok]: SINTERSTORE with two sets - hashtable
[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - hashtable
[ok]: SUNION with two sets - hashtable
[ok]: HKEYS - big hash
[4/32 done]: unit/multi (2 seconds)
Testing integration/replication-4
[ok]: HVALS - small hash
[ok]: SUNIONSTORE with two sets - hashtable
[ok]: SINTER against three sets - hashtable
[ok]: SINTERSTORE with three sets - hashtable
[ok]: SUNION with non existing keys - hashtable
[ok]: EXPIRE - After 2.1 seconds the key should no longer be here
[ok]: EXPIRE - write on expire should work
[ok]: HVALS - big hash
[ok]: EXPIREAT - Check for EXPIRE alike behavior
[ok]: SETEX - Set + Expire combo operation. Check for TTL
[ok]: SETEX - Check value
[ok]: SETEX - Overwrite old key
[ok]: HGETALL - small hash
[ok]: SDIFF with two sets - hashtable
[ok]: SDIFF with three sets - hashtable
[ok]: SDIFFSTORE with three sets - hashtable
[ok]: Generated sets must be encoded as intset
[ok]: HGETALL - big hash
[ok]: HDEL and return value
[ok]: HDEL - more than a single value
[ok]: HDEL - hash becomes empty before deleting all specified fields
[ok]: HEXISTS
[ok]: Is a ziplist encoded Hash promoted on big payload?
[ok]: HINCRBY against non existing database key
[ok]: HINCRBY against non existing hash key
[ok]: HINCRBY against hash key created by hincrby itself
[ok]: HINCRBY against hash key originally set with HSET
[ok]: SINTER with two sets - intset
[ok]: SINTERSTORE with two sets - intset
[ok]: HINCRBY over 32bit value
[ok]: HINCRBY over 32bit value with over 32bit increment
[ok]: HINCRBY fails against hash value with spaces (left)
[ok]: HINCRBY fails against hash value with spaces (right)
[ok]: HINCRBY can detect overflows
[ok]: HINCRBYFLOAT against non existing database key
[ok]: HINCRBYFLOAT against non existing hash key
[ok]: SINTERSTORE with two sets, after a DEBUG RELOAD - intset
[ok]: HINCRBYFLOAT against hash key created by hincrby itself
[ok]: HINCRBYFLOAT against hash key originally set with HSET
[ok]: HINCRBYFLOAT over 32bit value
[ok]: HINCRBYFLOAT over 32bit value with over 32bit increment
[ok]: HINCRBYFLOAT fails against hash value with spaces (left)
[ok]: HINCRBYFLOAT fails against hash value with spaces (right)
[ok]: Hash ziplist regression test for large keys
[ok]: SUNION with two sets - intset
[ok]: SUNIONSTORE with two sets - intset
[ok]: SINTER against three sets - intset
[ok]: SINTERSTORE with three sets - intset
[ok]: SUNION with non existing keys - intset
[ok]: SDIFF with two sets - intset
[ok]: SDIFF with three sets - intset
[ok]: SDIFFSTORE with three sets - intset
[ok]: SDIFF with first set empty
[ok]: SINTER against non-set should throw error
[ok]: SUNION against non-set should throw error
[ok]: SINTER should handle non existing key as empty
[ok]: SINTER with same integer elements but different encoding
[ok]: SINTERSTORE against non existing keys should delete dstkey
[ok]: SUNIONSTORE against non existing keys should delete dstkey
[ok]: SPOP basics - hashtable
[ok]: Regression for a crash with blocking ops and pipelining
[ok]: SRANDMEMBER - hashtable
[ok]: SPOP basics - intset
[ok]: Hash fuzzing #1 - 10 fields
[ok]: First server should have role slave after SLAVEOF
[ok]: SRANDMEMBER - intset
[ok]: SRANDMEMBER with  against non existing key
[ok]: AOF rewrite of list with ziplist encoding, string data
[ok]: Hash fuzzing #2 - 10 fields
[ok]: BRPOPLPUSH with a client BLPOPing the target list
[ok]: BRPOPLPUSH with wrong source type
[5/32 done]: unit/protocol (3 seconds)
Testing integration/aof
[ok]: SRANDMEMBER with  - hashtable
[ok]: SRANDMEMBER with  - intset
[ok]: BRPOPLPUSH replication, list exists
[ok]: SMOVE basics - from regular set to intset
[ok]: SMOVE basics - from intset to regular set
[ok]: SMOVE non existing key
[ok]: SMOVE non existing src set
[ok]: SMOVE from regular set to non existing destination set
[ok]: SMOVE from intset to non existing destination set
[ok]: SMOVE wrong src key type
[ok]: SMOVE wrong dst key type
[ok]: SMOVE with identical source and destination
[ok]: Unfinished MULTI: Server should have logged an error
[ok]: First server should have role slave after SLAVEOF
[ok]: Short read: Server should have logged an error
[ok]: Short read: Utility should confirm the AOF is not valid
[ok]: Short read: Utility should be able to fix the AOF
[ok]: SETEX - Wait for the key to expire
[ok]: SETEX - Wrong time parameter
[ok]: PERSIST can undo an EXPIRE
[ok]: PERSIST returns 0 against non existing or non volatile keys
[ok]: Fixed AOF: Server should have been started
[ok]: Fixed AOF: Keyspace should contain values that were parsable
[ok]: BRPOPLPUSH with wrong destination type
[ok]: BRPOPLPUSH maintains order of elements after failure
[ok]: BRPOPLPUSH with multiple blocked clients
[ok]: Linked BRPOPLPUSH
[ok]: Circular BRPOPLPUSH
[ok]: Self-referential BRPOPLPUSH
[ok]: BRPOPLPUSH inside a transaction
[ok]: PUSH resulting from BRPOPLPUSH affect WATCH
[ok]: BRPOPLPUSH does not affect WATCH while still blocked
[ok]: First server should have role slave after SLAVEOF
[ok]: AOF+SPOP: Server should have been started
[ok]: AOF+SPOP: Set should have 1 member
[ok]: Second server should have role master at first
[ok]: SLAVEOF should start with link status "down"
[ok]: The role should immediately be changed to "slave"
[ok]: AOF rewrite of list with linkedlist encoding, string data
[ok]: FUZZ stresser with data model binary
[ok]: AOF+EXPIRE: Server should have been started
[ok]: AOF+EXPIRE: List should be empty
[ok]: Sync should have transferred keys from master
[ok]: The link status should be up
[ok]: SET on the master should immediately propagate
[ok]: FLUSHALL should replicate
[ok]: AOF rewrite of list with ziplist encoding, int data
[ok]: EXPIRE pricision is now the millisecond
[ok]: Redis should not try to convert DEL into EXPIREAT for EXPIRE -1
[6/32 done]: integration/aof (2 seconds)
Testing integration/rdb
[ok]: BRPOPLPUSH timeout
[ok]: BLPOP: with single empty list argument
[ok]: BLPOP: with negative timeout
[ok]: BLPOP: with non-integer timeout
[ok]: RDB encoding loading test
[ok]: Server started empty with non-existing RDB file
[ok]: BLPOP: with zero timeout should block indefinitely
[ok]: BLPOP: second argument is not a list
[ok]: AOF rewrite of list with linkedlist encoding, int data
[err]: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires in tests/unit/expire.tcl
Expected 'somevalue {}' to equal or match '{} {}'
[ok]: PTTL returns millisecond time to live
[ok]: Server started empty with empty RDB file
[ok]: AOF rewrite of set with intset encoding, string data
[ok]: Server should not start if RDB file can't be open
[ok]: Redis should actively expire keys incrementally
[ok]: Server should not start if RDB is corrupted
[7/32 done]: integration/rdb (3 seconds)
Testing integration/convert-zipmap-hash-on-load
[ok]: BLPOP: timeout
[ok]: BLPOP: arguments are empty
[ok]: BRPOP: with single empty list argument
[ok]: BRPOP: with negative timeout
[ok]: Very big payload random access
[ok]: BRPOP: with non-integer timeout
[ok]: RDB load zipmap hash: converts to ziplist
[ok]: FUZZ stresser with data model alpha
[ok]: Redis should lazy expire keys
[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-entries is exceeded
[ok]: BRPOP: with zero timeout should block indefinitely
[ok]: BRPOP: second argument is not a list
[ok]: Test replication with parallel clients writing in differnet DBs
[ok]: AOF rewrite of set with hashtable encoding, string data
[8/32 done]: integration/replication-4 (8 seconds)
Testing unit/pubsub
[ok]: EXPIRE should not resurrect keys (issue #1026)
[ok]: 5 keys in, 5 keys out
[ok]: RDB load zipmap hash: converts to hash table when hash-max-ziplist-value is exceeded
[9/32 done]: unit/expire (10 seconds)
Testing unit/slowlog
[ok]: BRPOP: timeout
[ok]: PUBLISH/SUBSCRIBE basics
[ok]: PUBLISH/SUBSCRIBE with two clients
[ok]: PUBLISH/SUBSCRIBE after UNSUBSCRIBE without arguments
[ok]: SUBSCRIBE to one channel more than once
[ok]: UNSUBSCRIBE from non-subscribed channels
[ok]: BRPOP: arguments are empty
[ok]: BLPOP inside a transaction
[ok]: LPUSHX, RPUSHX - generic
[ok]: LPUSHX, RPUSHX - linkedlist
[ok]: LINSERT - linkedlist
[ok]: LPUSHX, RPUSHX - ziplist
[ok]: LINSERT - ziplist
[ok]: LINSERT raise error on bad syntax
[ok]: PUBLISH/PSUBSCRIBE basics
[ok]: PUBLISH/PSUBSCRIBE with two clients
[ok]: PUBLISH/PSUBSCRIBE after PUNSUBSCRIBE without arguments
[ok]: PUNSUBSCRIBE from non-subscribed channels
[ok]: Mix SUBSCRIBE and PSUBSCRIBE
[ok]: PUNSUBSCRIBE and UNSUBSCRIBE should always reply.
[10/32 done]: integration/convert-zipmap-hash-on-load (3 seconds)
Testing unit/scripting
[ok]: SLOWLOG - check that it starts with an empty log
[11/32 done]: unit/pubsub (1 seconds)
Testing unit/maxmemory
[ok]: LPUSHX, RPUSHX convert from ziplist to list
[ok]: AOF rewrite of set with intset encoding, int data
[ok]: EVAL - Does Lua interpreter replies to our requests?
[ok]: EVAL - Lua integer -> Redis protocol type conversion
[ok]: EVAL - Lua string -> Redis protocol type conversion
[ok]: EVAL - Lua true boolean -> Redis protocol type conversion
[ok]: EVAL - Lua false boolean -> Redis protocol type conversion
[ok]: EVAL - Lua status code reply -> Redis protocol type conversion
[ok]: EVAL - Lua error reply -> Redis protocol type conversion
[ok]: EVAL - Lua table -> Redis protocol type conversion
[ok]: EVAL - Are the KEYS and ARGV arrays populated correctly?
[ok]: EVAL - is Lua able to call Redis API?
[ok]: EVALSHA - Can we call a SHA1 if already defined?
[ok]: EVALSHA - Can we call a SHA1 in uppercase?
[ok]: SLOWLOG - only logs commands taking more time than specified
[ok]: EVALSHA - Do we get an error on invalid SHA1?
[ok]: EVALSHA - Do we get an error on non defined SHA1?
[ok]: EVAL - Redis integer -> Lua type conversion
[ok]: EVAL - Redis bulk -> Lua type conversion
[ok]: EVAL - Redis multi bulk -> Lua type conversion
[ok]: EVAL - Redis status reply -> Lua type conversion
[ok]: EVAL - Redis error reply -> Lua type conversion
[ok]: EVAL - Redis nil bulk reply -> Lua type conversion
[ok]: EVAL - Is Lua affecting the currently selected DB?
[ok]: EVAL - Is Lua seleced DB retained?
[ok]: EVAL - Scripts can't run certain commands
[ok]: EVAL - Scripts can't run certain commands
[ok]: EVAL - No arguments to redis.call/pcall is considered an error
[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
[ok]: EVAL - redis.call variant raises a Lua error on Redis cmd error (1)
[ok]: SCRIPTING FLUSH - is able to clear the scripts cache?
[ok]: SCRIPT EXISTS - can detect already defined scripts?
[ok]: SCRIPT LOAD - is able to register scripts in the scripting cache
[ok]: In the context of Lua the output of random commands gets ordered
[ok]: SORT is normally not alpha re-ordered for the scripting engine
[ok]: SORT BY  output gets ordered for scripting
[ok]: SORT BY  with GET gets ordered for scripting
[ok]: redis.sha1hex() implementation
[ok]: Globals protection reading an undeclared global variable
[ok]: Globals protection setting an undeclared global*
[ok]: Test an example script DECR_IF_GT
[ok]: Scripting engine resets PRNG at every script execution
[ok]: Scripting engine PRNG can be seeded correctly
[ok]: SLOWLOG - max entries is correctly handled
[ok]: SLOWLOG - GET optional argument to limit output len works
[ok]: SLOWLOG - RESET subcommand works
[ok]: EVAL processes writes from AOF in read-only slaves
[ok]: SLOWLOG - logged entry sanity check
[ok]: SLOWLOG - commands with too many arguments are trimmed
[ok]: SLOWLOG - too long arguments are trimmed
[ok]: SLOWLOG - EXEC is not logged, just executed commands
[ok]: LINSERT convert from ziplist to list
[12/32 done]: unit/slowlog (2 seconds)
Testing unit/introspection
[ok]: Timedout read-only scripts can be killed by SCRIPT KILL
[ok]: LINDEX consistency test - ziplist
[ok]: CLIENT LIST
[ok]: MONITOR can log executed commands
[ok]: MONITOR can log commands issued by the scripting engine
[ok]: CLIENT GETNAME should return NIL if name is not assigned
[ok]: CLIENT LIST shows empty fields for unassigned names
[ok]: CLIENT SETNAME does not accept spaces
[ok]: CLIENT SETNAME can assign a name to this connection
[ok]: CLIENT SETNAME can change the name of an existing connection
[ok]: After CLIENT SETNAME, connection can still be closed
[13/32 done]: unit/introspection (1 seconds)
Testing unit/limits
[ok]: ziplist implementation: value encoding and backlink
[ok]: LINDEX random access - ziplist
[ok]: AOF rewrite of set with hashtable encoding, int data
[ok]: Timedout script link is still usable after Lua returns
[ok]: Timedout scripts that modified data can't be killed by SCRIPT KILL
[ok]: SHUTDOWN NOSAVE can kill a timedout script anyway
[ok]: maxmemory - is the memory limit honoured? (policy allkeys-random)
[ok]: Check if list is still ok after a DEBUG RELOAD - ziplist
[ok]: FUZZ stresser with data model compr
[ok]: AOF rewrite of hash with ziplist encoding, string data
[ok]: Check if maxclients works refusing connections
[ok]: Hash fuzzing #1 - 512 fields
[ok]: Before the slave connects we issue two EVAL commands
[14/32 done]: unit/limits (1 seconds)
Testing unit/obuf-limits
[ok]: LINDEX consistency test - linkedlist
[ok]: Connect a slave to the main instance
[ok]: Now use EVALSHA against the master, with both SHAs
[ok]: If EVALSHA was replicated as EVAL, 'x' should be '4'
[ok]: Replication of script multiple pushes to list with BLPOP
[ok]: BGSAVE
[ok]: SELECT an out of range DB
[ok]: maxmemory - is the memory limit honoured? (policy allkeys-lru)
[15/32 done]: unit/scripting (4 seconds)
Testing unit/dump
[ok]: LINDEX random access - linkedlist
[ok]: LTRIM stress testing - linkedlist
[ok]: AOF rewrite of hash with hashtable encoding, string data
[ok]: DUMP / RESTORE are able to serialize / unserialize a simple key
[ok]: RESTORE can set an arbitrary expire to the materialized key
[ok]: RESTORE returns an error of the key already exists
[ok]: DUMP of non existing key returns nil
[ok]: AOF rewrite of hash with ziplist encoding, int data
[ok]: MIGRATE is able to migrate a key between two instances
[ok]: Check if list is still ok after a DEBUG RELOAD - linkedlist
[ok]: LLEN against non-list value error
[ok]: LLEN against non existing key
[ok]: LINDEX against non-list value error
[ok]: LINDEX against non existing key
[ok]: LPUSH against non-list value error
[ok]: RPUSH against non-list value error
[ok]: RPOPLPUSH base case - linkedlist
[ok]: RPOPLPUSH with the same list as src and dst - linkedlist
[ok]: RPOPLPUSH with linkedlist source and existing target linkedlist
[ok]: RPOPLPUSH with linkedlist source and existing target ziplist
[ok]: RPOPLPUSH base case - ziplist
[ok]: RPOPLPUSH with the same list as src and dst - ziplist
[ok]: RPOPLPUSH with ziplist source and existing target linkedlist
[ok]: RPOPLPUSH with ziplist source and existing target ziplist
[ok]: RPOPLPUSH against non existing key
[ok]: RPOPLPUSH against non list src key
[ok]: RPOPLPUSH against non list dst key
[ok]: RPOPLPUSH against non existing src key
[ok]: MIGRATE propagates TTL correctly
[ok]: Basic LPOP/RPOP - linkedlist
[ok]: Basic LPOP/RPOP - ziplist
[ok]: LPOP/RPOP against non list value
[ok]: maxmemory - is the memory limit honoured? (policy volatile-lru)
[ok]: Mass RPOP/LPOP - ziplist
[ok]: Mass RPOP/LPOP - linkedlist
[ok]: LRANGE basics - linkedlist
[ok]: LRANGE inverted indexes - linkedlist
[ok]: LRANGE out of range indexes including the full list - linkedlist
[ok]: LRANGE out of range negative end index - linkedlist
[ok]: LRANGE basics - ziplist
[ok]: LRANGE inverted indexes - ziplist
[ok]: LRANGE out of range indexes including the full list - ziplist
[ok]: LRANGE out of range negative end index - ziplist
[ok]: LRANGE against non existing key
[ok]: LTRIM basics - linkedlist
[ok]: LTRIM out of range negative end index - linkedlist
[ok]: LTRIM basics - ziplist
[ok]: LTRIM out of range negative end index - ziplist
[ok]: LSET - linkedlist
[ok]: LSET out of range index - linkedlist
[ok]: LSET - ziplist
[ok]: LSET out of range index - ziplist
[ok]: LSET against non existing key
[ok]: LSET against non list value
[ok]: LREM remove all the occurrences - linkedlist
[ok]: LREM remove the first occurrence - linkedlist
[ok]: LREM remove non existing element - linkedlist
[ok]: AOF rewrite of hash with hashtable encoding, int data
[ok]: LREM starting from tail with negative count - linkedlist
[ok]: LREM starting from tail with negative count (2) - linkedlist
[ok]: LREM deleting objects that may be int encoded - linkedlist
[ok]: LREM remove all the occurrences - ziplist
[ok]: LREM remove the first occurrence - ziplist
[ok]: LREM remove non existing element - ziplist
[ok]: LREM starting from tail with negative count - ziplist
[ok]: LREM starting from tail with negative count (2) - ziplist
[ok]: LREM deleting objects that may be int encoded - ziplist
[ok]: maxmemory - is the memory limit honoured? (policy volatile-random)
[ok]: Regression for bug 593 - chaining BRPOPLPUSH with other blocking cmds
[ok]: AOF rewrite of zset with ziplist encoding, string data
[16/32 done]: unit/type/list (21 seconds)
Testing unit/bitops
[ok]: intsets implementation stress testing
[ok]: BITCOUNT returns 0 against non existing key
[ok]: BITCOUNT against test vector #1
[ok]: BITCOUNT against test vector #2
[ok]: BITCOUNT against test vector #3
[ok]: BITCOUNT against test vector #4
[ok]: BITCOUNT against test vector #5
[17/32 done]: unit/type/set (22 seconds)
[ok]: Hash fuzzing #2 - 512 fields
[ok]: maxmemory - is the memory limit honoured? (policy volatile-ttl)
[ok]: SET 10000 numeric keys and access all them in reverse order
[ok]: DBSIZE should be 10101 now
[ok]: INCR against non existing key
[ok]: INCR against key created by incr itself
[ok]: INCR against key originally set with SET
[ok]: INCR over 32bit value
[ok]: INCRBY over 32bit value with over 32bit increment
[ok]: INCR fails against key with spaces (left)
[ok]: INCR fails against key with spaces (right)
[ok]: INCR fails against key with spaces (both)
[ok]: INCR fails against a key holding a list
[ok]: DECRBY over 32bit value with over 32bit increment, negative res
[ok]: INCRBYFLOAT against non existing key
[ok]: INCRBYFLOAT against key originally set with SET
[ok]: INCRBYFLOAT over 32bit value
[ok]: INCRBYFLOAT over 32bit value with over 32bit increment
[ok]: INCRBYFLOAT fails against key with spaces (left)
[ok]: INCRBYFLOAT fails against key with spaces (right)
[ok]: INCRBYFLOAT fails against key with spaces (both)
[ok]: INCRBYFLOAT fails against a key holding a list
[ok]: INCRBYFLOAT does not allow NaN or Infinity
[ok]: INCRBYFLOAT decrement
[ok]: SETNX target key missing
[ok]: SETNX target key exists
[ok]: SETNX against not-expired volatile key
[ok]: AOF rewrite of zset with skiplist encoding, string data
[ok]: Check consistency of different data types after a reload
[ok]: BITCOUNT fuzzing
[ok]: BITCOUNT with start, end
[ok]: BITCOUNT syntax error #1
[ok]: BITCOUNT regression test for github issue #582
[ok]: BITOP NOT (empty string)
[ok]: BITOP NOT (known string)
[ok]: BITOP where dest and target are the same key
[ok]: BITOP AND|OR|XOR don't change the string with single input key
[ok]: BITOP missing key is considered a stream of zero
[ok]: BITOP shorter keys are zero-padded to the key with max length
[ok]: AOF rewrite of zset with ziplist encoding, int data
[ok]: Same dataset digest if saving/reloading as AOF?
[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 128 element sorted set - ziplist
[ok]: ZSETs skiplist implementation backlink consistency test - ziplist
[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-random)
[ok]: EXPIRES after a reload (snapshot + append only file rewrite)
[ok]: AOF rewrite of zset with skiplist encoding, int data
[ok]: MIGRATE can correctly transfer large values
[ok]: BGREWRITEAOF is delayed if BGSAVE is in progress
[ok]: BGREWRITEAOF is refused if already in progress
[18/32 done]: unit/aofrw (27 seconds)
[ok]: MIGRATE can correctly transfer hashes
[ok]: BITOP and fuzzing
[ok]: maxmemory - only allkeys-* should remove non-volatile keys (allkeys-lru)
[ok]: Big Linked list: SORT BY key
[ok]: Big Linked list: SORT BY key with limit
[ok]: EXPIRES after AOF reload (without rewrite)
[ok]: MIGRATE timeout actually works
[19/32 done]: unit/dump (14 seconds)
[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-lru)
[ok]: BITOP or fuzzing
[ok]: LTRIM stress testing - ziplist
[ok]: SETNX against expired volatile key
[ok]: EXISTS
[ok]: Zero length value in key. SET/GET/EXISTS
[ok]: Commands pipelining
[ok]: Non existing command
[ok]: RENAME basic usage
[ok]: RENAME source key should no longer exist
[ok]: RENAME against already existing key
[ok]: RENAMENX basic usage
[ok]: RENAMENX against already existing key
[ok]: RENAMENX against already existing key (2)
[ok]: RENAME against non existing source key
[ok]: RENAME where source and dest key is the same
[ok]: RENAME with volatile key, should move the TTL as well
[ok]: RENAME with volatile key, should not inherit TTL of target key
[20/32 done]: unit/type/list-2 (30 seconds)
[ok]: ZSETs ZRANK augmented skip list stress testing - ziplist
[ok]: ZSCORE - skiplist
[ok]: ZSCORE after a DEBUG RELOAD - skiplist
[ok]: ZSET sorting stresser - skiplist
[ok]: Stress test the hash ziplist -> hashtable encoding conversion
[21/32 done]: unit/type/hash (31 seconds)
[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-random)
[ok]: BITOP xor fuzzing
[ok]: BITOP NOT fuzzing
[ok]: BITOP with integer encoded source objects
[ok]: BITOP with non string source key
[ok]: BITOP with empty string after non empty string (issue #529)
[ok]: maxmemory - only allkeys-* should remove non-volatile keys (volatile-ttl)
[22/32 done]: unit/bitops (12 seconds)
[ok]: Big Linked list: SORT BY hash field
[ok]: Intset: SORT BY key
[ok]: Intset: SORT BY key with limit
[ok]: Intset: SORT BY hash field
[ok]: MASTER and SLAVE consistency with expire
[ok]: PIPELINING stresser (also a regression for the old epoll bug)
[ok]: APPEND basics
[ok]: APPEND basics, integer encoded values
[23/32 done]: integration/replication-3 (33 seconds)
[ok]: Hash table: SORT BY key
[ok]: Hash table: SORT BY key with limit
[ok]: Hash table: SORT BY hash field
[ok]: maxmemory - policy volatile-lru should only remove volatile keys.
[ok]: APPEND fuzzing
[ok]: FLUSHDB
[ok]: Perform a final SAVE to leave a clean DB on disk
[24/32 done]: unit/other (35 seconds)
[ok]: maxmemory - policy volatile-random should only remove volatile keys.
[ok]: maxmemory - policy volatile-ttl should only remove volatile keys.
[25/32 done]: unit/maxmemory (27 seconds)
[ok]: ZRANGEBYSCORE fuzzy test, 100 ranges in 100 element sorted set - skiplist
[ok]: ZSETs skiplist implementation backlink consistency test - skiplist
[ok]: MASTER and SLAVE dataset should be identical after complex ops
[26/32 done]: integration/replication-2 (41 seconds)
[ok]: ZSETs ZRANK augmented skip list stress testing - skiplist
[27/32 done]: unit/type/zset (43 seconds)
[ok]: Client output buffer hard limit is enforced
[ok]: DEL all keys again (DB 0)
[ok]: DEL all keys again (DB 1)
[ok]: MOVE basic usage
[ok]: MOVE against key existing in the target DB
[ok]: SET/GET keys in different DBs
[ok]: MGET
[ok]: MGET against non existing key
[ok]: MGET against non-string key
[ok]: RANDOMKEY
[ok]: RANDOMKEY against empty DB
[ok]: RANDOMKEY regression 1
[ok]: GETSET (set new value)
[ok]: GETSET (replace old value)
[ok]: MSET base case
[ok]: MSET wrong number of args
[ok]: MSETNX with already existent key
[ok]: MSETNX with not existing keys
[ok]: STRLEN against non-existing key
[ok]: STRLEN against integer-encoded value
[ok]: STRLEN against plain string
[ok]: SETBIT against non-existing key
[ok]: SETBIT against string-encoded key
[ok]: SETBIT against integer-encoded key
[ok]: SETBIT against key with wrong type
[ok]: SETBIT with out of range bit offset
[ok]: SETBIT with non-bit argument
[ok]: Big Hash table: SORT BY key
[ok]: Big Hash table: SORT BY key with limit
[ok]: SETBIT fuzzing
[ok]: GETBIT against non-existing key
[ok]: GETBIT against string-encoded key
[ok]: GETBIT against integer-encoded key
[ok]: SETRANGE against non-existing key
[ok]: SETRANGE against string-encoded key
[ok]: SETRANGE against integer-encoded key
[ok]: SETRANGE against key with wrong type
[ok]: SETRANGE with out of range offset
[ok]: GETRANGE against non-existing key
[ok]: GETRANGE against string value
[ok]: GETRANGE against integer-encoded value
[ok]: Connect multiple slaves at the same time (issue #141)
[ok]: Big Hash table: SORT BY hash field
[ok]: SORT GET #
[ok]: SORT GET 
[ok]: SORT GET (key and hash) with sanity check
[ok]: SORT BY key STORE
[ok]: SORT BY hash field STORE
[ok]: SORT DESC
[ok]: SORT ALPHA against integer encoded strings
[ok]: SORT sorted set
[ok]: SORT sorted set BY nosort should retain ordering
[ok]: SORT sorted set BY nosort + LIMIT
[ok]: SORT sorted set BY nosort works as expected from scripts
[ok]: SORT sorted set: +inf and -inf handling
[ok]: SORT regression for issue #19, sorting floats
[ok]: SORT with STORE returns zero if result is empty (github isse 224)
[ok]: SORT with STORE does not create empty lists (github issue 224)
[ok]: SORT with STORE removes key if result is empty (github issue 227)
[ok]: SORT with BY  and STORE should still order output
[ok]: SORT will complain with numerical sorting and bad doubles (1)
[ok]: SORT will complain with numerical sorting and bad doubles (2)
[ok]: SORT BY sub-sorts lexicographically if score is the same
[ok]: SORT GET with pattern ending with just -> does not get hash field
[ok]: SORT speed, 100 element list BY key, 100 times
[ok]: SORT speed, 100 element list BY hash field, 100 times
[ok]: SORT speed, 100 element list directly, 100 times
[ok]: SORT speed, 100 element list BY , 100 times
[28/32 done]: unit/sort (48 seconds)
[ok]: GETRANGE fuzzing
[ok]: Extended SET can detect syntax errors
[ok]: Extended SET NX option
[ok]: Extended SET XX option
[ok]: Extended SET EX option
[ok]: Extended SET PX option
[ok]: Extended SET using multiple options at once
[29/32 done]: unit/basic (48 seconds)
[30/32 done]: integration/replication (49 seconds)
[ok]: ziplist implementation: encoding stress testing
[31/32 done]: unit/type/list-3 (49 seconds)
[ok]: Client output buffer soft limit is not enforced if time is not overreached
[ok]: Client output buffer soft limit is enforced if time is overreached
[32/32 done]: unit/obuf-limits (51 seconds)

                   The End

Execution time of different units:
  0 seconds - unit/quit
  0 seconds - unit/printver
  1 seconds - unit/auth
  2 seconds - unit/multi
  3 seconds - unit/protocol
  2 seconds - integration/aof
  3 seconds - integration/rdb
  8 seconds - integration/replication-4
  10 seconds - unit/expire
  3 seconds - integration/convert-zipmap-hash-on-load
  1 seconds - unit/pubsub
  2 seconds - unit/slowlog
  1 seconds - unit/introspection
  1 seconds - unit/limits
  4 seconds - unit/scripting
  21 seconds - unit/type/list
  22 seconds - unit/type/set
  27 seconds - unit/aofrw
  14 seconds - unit/dump
  30 seconds - unit/type/list-2
  31 seconds - unit/type/hash
  12 seconds - unit/bitops
  33 seconds - integration/replication-3
  35 seconds - unit/other
  27 seconds - unit/maxmemory
  41 seconds - integration/replication-2
  43 seconds - unit/type/zset
  48 seconds - unit/sort
  48 seconds - unit/basic
  49 seconds - integration/replication
  49 seconds - unit/type/list-3
  51 seconds - unit/obuf-limits

!!! WARNING The following tests failed:

*** [err]: PEXPIRE/PSETEX/PEXPIREAT can set sub-second expires in tests/unit/expire.tcl
Expected 'somevalue {}' to equal or match '{} {}'
Cleanup: may take some time... OK
child process exited abnormally