Commit Graph
613 Commits
Author SHA1 Message Date
Alexis Campailla 69ff2feb70 Merge version 2.8.19 from antirez into 2.8 2014-12-26 16:14:57 +01:00
Alexis Campailla bc2ce9d6e0 Merge version 2.8.18 from antirez into 2.8
Conflicts:
	deps/linenoise/linenoise.c
	deps/lua/src/lua_cjson.c
	redis.conf
	src/anet.c
	src/config.c
	src/networking.c
	src/object.c
	src/rdb.c
	src/redis.c
	src/redis.h
	src/replication.c
	tests/support/server.tcl
2014-12-26 15:20:36 +01:00
Matt Stancliff e945a546af Fix zero-ordering SORT when called against lists
People mostly use SORT against lists, but our prior
behavior was pretending lists were an unordered bag
requiring a forced-sort when no sort was requested.

We can just use the native list ordering to ensure
consistency across replicaion and scripting calls.

Closes #2079
Closes #545 (again)
2014-12-11 16:01:09 +01:00
antirez 04231cb7d7 Regression test for issue #2175. 2014-12-03 10:41:06 +01:00
antirez a81043959a Test: wait for actual startup in start_server.
start_server now uses return value from Tcl exec to get the server pid,
however this introduces errors that depend from timing: a lot of the
testing code base assumed the server to be actually up and running when
server_start returns.

So the old code that waits to see the pid in the log file was restored.
2014-11-28 12:57:40 +01:00
antirez f0c00a14ed Test: try to cleanup still running Redis instances on exit.
It's hard to run the Redis test continuously if it leaks processes on
exceptions / errors.
2014-11-28 12:57:30 +01:00
antirez 3ac62dff23 Test framework: exit on timeout with report.
There was no sane way to detect tests that may never end because of
Redis bugs or tests bugs.
2014-11-28 12:54:17 +01:00
antirez 5ddf56f9b1 Attempt to prevent false positives in replication test. 2014-11-24 11:55:16 +01:00
antirez b19e745780 scripting.tcl tests order fixed to match unstable branch. 2014-11-14 17:28:58 +01:00
Matt Stancliff 5d8c88fdc1 Lua: add cmsgpack scripting tests
Basically: test to make sure we can load cmsgpack
and do some sanity checks to make sure pack/unpack works
properly.  We also have a bonus test for circular encoding
and decoding because I was curious how it worked.
2014-11-14 17:28:45 +01:00
Matt Stancliff 2828bbd511 Lua: add cjson scripting test
Two simple decode tests added mainly to check that
the 'cjson' global gets registered and is usable.
2014-11-14 17:28:23 +01:00
Matt Stancliff 1e501d9fd6 Lua: Add bitop
A few people have written custom C commands because bit
manipulation isn't exposed through Lua.  Let's give
them Mike Pall's bitop.

This adds bitop 1.0.2 (2012-05-08) from http://bitop.luajit.org/

bitop is imported as "bit" into the global namespace.

New Lua commands: bit.tobit, bit.tohex, bit.bnot, bit.band, bit.bor, bit.bxor,
bit.lshift, bit.rshift, bit.arshift, bit.rol, bit.ror, bit.bswap

Verification of working (the asserts would abort on error, so (nil) is correct):
127.0.0.1:6379> eval "assert(bit.tobit(1) == 1); assert(bit.band(1) == 1); assert(bit.bxor(1,2) == 3); assert(bit.bor(1,2,4,8,16,32,64,128) == 255)" 0
(nil)
127.0.0.1:6379> eval 'assert(0x7fffffff == 2147483647, "broken hex literals"); assert(0xffffffff == -1 or 0xffffffff == 2^32-1, "broken hex literals"); assert(tostring(-1) == "-1", "broken tostring()"); assert(tostring(0xffffffff) == "-1" or tostring(0xffffffff) == "4294967295", "broken tostring()")' 0
(nil)

Tests also integrated into the scripting tests and can be run with:
./runtest --single unit/scripting

Tests are excerpted from `bittest.lua` included in the bitop distribution.
2014-11-14 17:28:19 +01:00
antirez d57ed95222 Diskless replication tested with the multiple slaves consistency test. 2014-10-29 14:33:50 +01:00
Matt Stancliff c3375fbdff Remove trailing spaces from tests 2014-10-06 10:01:27 +02:00
Matt Stancliff c4d32c03d0 Fix spelling in some test cases 2014-10-06 10:01:05 +02:00
Matt Stancliff 22e6f434f8 Spell software correctly 2014-10-06 09:59:52 +02:00
Aaron Rutkovsky 3101760937 Fix typos
Closes #1513
2014-10-06 09:59:02 +02:00
jonathan pickett 18534064c9 merge antirez changes 2.8.15-->2.8.16 2014-09-16 17:05:36 -07:00
antirez 5e38bc389c Better truncated AOF loading tests.
Now there are tests to write more data after loading a truncated AOF,
testing that the loaded data is correct, appending more, and testing
again.
2014-09-16 11:05:50 +02:00
jonathan pickett 915c0dd656 Merge changes from Posix Redis through 2.8.15 into MSOpenTech branch 2014-09-15 18:10:10 -07:00
antirez ff47d5ebf6 Tests for aof-load-truncated = yes. 2014-09-08 10:58:00 +02:00
antirez b3fdddfd1f AOF tests fixed turning aof-load-truncated to no.
When aof-load-truncated option was introduced, with a default of "yes",
the past behavior of the server to abort with trunncated AOF changed, so
we need to explicitly configure the tests to abort with truncated AOF
by setting the option to no.
2014-09-08 10:58:00 +02:00
antirez 94f7979414 Test AOF format error detection. 2014-09-08 10:57:11 +02:00
antirez 537f3053fa AOF loading: split handling of format errors from unexpected EOF. 2014-09-08 10:57:10 +02:00
jonathan pickett 1688851b13 Merge antirez 2.8.14 into MSOPENTech 2.8 branch
Conflicts:
	src/ae.c
	src/bitops.c
	src/dict.c
	src/fmacros.h
	src/hyperloglog.c
	src/networking.c
	src/redis-check-dump.c
	src/redis.c
	src/sds.c
	src/t_string.c
	src/t_zset.c
	src/util.c
2014-09-06 13:44:19 -07:00
Paddy Byers d1f89bdc2b Add regression test for issue #1939 2014-09-01 10:41:15 +02:00
Mariano Pérez Rodríguez f862e5ddfa Stop tests from leaving a black background
Uses ANSI "default background" color code after closing tests
so any non-black terminals don't remain polluted.

Fixes #1649
Closes #1912
2014-08-27 10:30:29 +02:00
Matt Stancliff 25a4699a9e Reject MOVE to non-integer DBs
Previously, "MOVE key somestring" would move the key to
DB 0 which is just unexpected and wrong.
String as DB == error.

Test added too.

Modified by @antirez in order to use the getLongLongFromObject() API
instead of strtol().

Fixes #1428
2014-08-27 10:25:22 +02:00
Matt Stancliff 09a3976478 pubsub: Return integers for NUMSUB, not strings
Also adds test for numsub — due to tcl being tcl,
it doesn't capture the "numberness" of the fix,
but now we at least have one test case for numsub.

Closes #1561
2014-08-27 10:25:15 +02:00
Jan-Erik Rediger 07b2779bff Handle large getrange requests
Previously the end was casted to a smaller type
which resulted in a wrong check and failed
with values larger than handled by unsigned.

Closes #1847, #1844
2014-08-27 10:24:19 +02:00
Matt Stancliff 4024220fe6 scripting: no eval with negative key count
Negative key count causes segfault in Lua functions.

Fixes #1842
Closes #1843
2014-08-27 10:24:15 +02:00
jonathan pickett 8cb1d65616 Merge branch '2.8antirez' into 2.8: raise version from 2.8.12 to 2.8.13
Conflicts:
	src/Makefile.dep
	src/aof.c
	src/redis-cli.c
	tests/instances.tcl
	tests/integration/replication.tcl
2014-07-28 18:10:57 -07:00
antirez 0bfdd4bb49 Test: check sorted set elements order after union.
This is not a regression but issue #1786 showed the need for this test.
2014-07-22 17:58:41 +02:00
antirez 7b11dfe05e Test: Pub/Sub PING. 2014-07-18 12:03:38 +02:00
antirez 156029b336 Test: small integer sharing depends on maxmemory policy. 2014-07-18 10:55:19 +02:00
jonathan pickett 4df3af4e6e issue 146: changes to network layer between 2.8.9 and 2.8.12 broke IOCP async connect code 2014-07-14 19:57:21 -07:00
antirez bb10ad9c13 Test: more reliable AOF rewrite test under write load. 2014-07-10 16:42:52 +02:00
antirez c785d4cccc LATENCY command / monitor basic tests. 2014-07-10 16:24:24 +02:00
antirez 315536d012 Test: enable latency monitor in the default config.
This way as a side effect of running the test we also stress the latency
monitor data collection.
2014-07-10 15:04:59 +02:00
antirez f0e67afd94 Test: AOF rewrite during write load. 2014-07-10 11:24:59 +02:00
jonathan pickett 2f2985275b Updating readme.md for the latest build. Also tweaking the heap size requirement in the unit test configuration so that I can run more instances without running out of disk space. 2014-07-03 19:53:24 -07:00
jonathan pickett 96e0be50bb Merge branch '2.8antirez' into 2.8. Updates version from 2.8.9 to 2.8.12.
Conflicts:
	deps/hiredis/async.c
	deps/hiredis/examples/example-ae.c
	deps/hiredis/hiredis.c
	deps/hiredis/hiredis.h
	deps/hiredis/net.c
	deps/hiredis/net.h
	deps/jemalloc/COPYING
	deps/jemalloc/INSTALL
	deps/jemalloc/README
	deps/jemalloc/bin/pprof
	deps/jemalloc/config.guess
	deps/jemalloc/config.sub
	deps/jemalloc/include/jemalloc/internal/ckh.h
	deps/jemalloc/include/jemalloc/internal/hash.h
	deps/jemalloc/include/jemalloc/internal/prng.h
	deps/jemalloc/include/jemalloc/internal/ql.h
	deps/jemalloc/include/jemalloc/internal/qr.h
	deps/jemalloc/include/jemalloc/internal/quarantine.h
	deps/jemalloc/include/jemalloc/internal/rb.h
	deps/jemalloc/include/jemalloc/internal/tcache.h
	deps/jemalloc/include/jemalloc/internal/tsd.h
	deps/jemalloc/include/jemalloc/internal/util.h
	deps/jemalloc/src/bitmap.c
	deps/jemalloc/src/ckh.c
	deps/jemalloc/src/quarantine.c
	deps/jemalloc/src/tsd.c
	deps/jemalloc/test/integration/aligned_alloc.c
	deps/jemalloc/test/unit/bitmap.c
	src/aof.c
	src/redis-cli.c
	src/redis.h
	src/util.c
2014-07-01 22:54:48 -07:00
antirez 41d7c90417 Test: fix instances.tcl restart_instance abort error. 2014-06-30 12:06:24 +02:00
antirez afe949efcb Remove infinite loop from PSYNC test.
Added for debugging and forgot there.
2014-06-27 18:36:59 +02:00
antirez 1066fed769 Test: hopefully more robust PSYNC test.
This is supposed to fix issue #1417, but we'll know if this is enough
only after a couple of runs of the CI test without false positives.
2014-06-27 18:36:59 +02:00
antirez 04749ee015 Fixed assert conditional in ROLE command test. 2014-06-26 22:13:57 +02:00
antirez 5d16a838db Sentinel test: more correct sentinels config reset.
In the initialization test for each instance we used to unregister the
old master and register it again to clear the config.
However there is a race condition doing this: as soon as we unregister
and re-register "mymaster", another Sentinel can update the new
configuration with the old state because of gossip "hello" messages.

So the correct procedure is instead, unregister "mymaster" from all the
sentinel instances, and re-register it everywhere again.
2014-06-23 14:04:09 +02:00
antirez 9a5408f23e Basic tests for the ROLE command. 2014-06-23 09:09:02 +02:00
antirez 061fd99767 Test: AOF test false positive when running in slow hosts.
The bug was triggered by running the test with Valgrind (which is a lot
slower and more sensible to timing issues) after the recent changes
that made Redis more promptly able to reply with the -LOADING error.
2014-06-21 16:04:20 +02:00
antirez 2355ae9bc6 Sentinel test: tolerate larger delays in init tests. 2014-06-19 16:10:20 +02:00