615 Commits

Author SHA1 Message Date
antirez
7c283c5218 Cluster test: also write from Lua script in resharding test. 2015-01-09 11:06:38 +01:00
Matt Stancliff
77bbc0dfad 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 15:58:29 +01:00
antirez
237b37a727 Regression test for issue #2175. 2014-12-03 10:41:03 +01:00
antirez
bed4108b72 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:58:11 +01:00
antirez
edd1ea2a68 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:58:11 +01:00
antirez
4d316967e8 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:58:11 +01:00
antirez
3765a5d9ba Attempt to prevent false positives in replication test. 2014-11-24 11:55:12 +01:00
antirez
9466f3b326 scripting.tcl tests order fixed to match unstable branch. 2014-11-14 17:23:40 +01:00
Matt Stancliff
8934c48075 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:19:58 +01:00
Matt Stancliff
330ebea470 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:19:52 +01:00
Matt Stancliff
d071e5feab 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:18:43 +01:00
antirez
ec3e239794 Diskless replication tested with the multiple slaves consistency test. 2014-10-29 14:26:48 +01:00
antirez
07963b21e3 Cluster test: helpers/onlydots.tcl: detect EOF and exit. 2014-10-08 10:17:23 +02:00
antirez
079662fca9 Cluster test: less console-spammy resharding test. 2014-10-08 10:17:23 +02:00
antirez
cf2815b60e Test: check that INCR object sharing works as expected. 2014-10-06 10:07:02 +02:00
Matt Stancliff
a19cdc5138 Remove trailing spaces from tests 2014-10-06 10:07:02 +02:00
Matt Stancliff
f4c4a0fc33 Fix spelling in some test cases 2014-10-06 10:07:01 +02:00
Matt Stancliff
47fde270b6 Spell software correctly 2014-10-06 10:07:01 +02:00
Aaron Rutkovsky
cc4162ff44 Fix typos
Closes #1513
2014-10-06 10:07:01 +02:00
antirez
fbaa438830 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-17 10:01:02 +02:00
antirez
364ee8322e Cluster test: unit 09, Pub/Sub across the cluster. 2014-09-17 10:01:01 +02:00
antirez
08c95d6ae2 Cluster test: unit 08, update messages. 2014-09-17 10:01:01 +02:00
antirez
3d2c82b489 Tests for aof-load-truncated = yes. 2014-09-08 10:57:03 +02:00
antirez
ea6082f1d5 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:57:03 +02:00
antirez
46ec968326 Test AOF format error detection. 2014-09-08 10:57:03 +02:00
antirez
a4ec67290e AOF loading: split handling of format errors from unexpected EOF. 2014-09-08 10:57:03 +02:00
Paddy Byers
98bd223edd Add regression test for issue #1939 2014-09-01 10:42:29 +02:00
Mariano Pérez Rodríguez
4f29e859cf 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-26 10:41:03 +02:00
Matt Stancliff
17438f7cf4 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-26 10:41:02 +02:00
Matt Stancliff
961e5e201f 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-26 10:41:02 +02:00
Matt Stancliff
14cedd4279 Fix key extraction for SORT
We only want to use the last STORE key, but we have to record
we actually found a STORE key so we can increment the final return
key count.

Test added to prevent further regression.

Closes #1883, #1645, #1647
2014-08-26 10:41:01 +02:00
Jan-Erik Rediger
b7a4cfb4b3 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-26 10:41:01 +02:00
Matt Stancliff
9d4ebed9e9 scripting: no eval with negative key count
Negative key count causes segfault in Lua functions.

Fixes #1842
Closes #1843
2014-08-26 10:41:01 +02:00
antirez
f2cb04e18c Cluster test: unit 07, replicas migration. 2014-07-28 14:55:10 +02:00
antirez
f2fd98bef9 Cluster test: unit 06 cluster creation comment fixed. 2014-07-28 14:55:10 +02:00
antirez
582d8c0c66 Cluster test: node reachability condition fixed. 2014-07-28 14:55:10 +02:00
antirez
f54162074e Cluster test: init test, be patient during restarts. 2014-07-28 14:55:10 +02:00
antirez
999205736b Cluster test: 03 unit speedup, don't send WAIT to slaves. 2014-07-28 14:55:10 +02:00
antirez
b43c44a196 Cluster test: unit 06, slaves with stale data can't failover. 2014-07-28 14:55:10 +02:00
antirez
1400b6679a Cluster test: new unit 05, slave selection. 2014-07-28 14:55:10 +02:00
antirez
42f4a83ed7 Test: check sorted set elements order after union.
This is not a regression but issue #1786 showed the need for this test.
2014-07-23 09:41:01 +02:00
antirez
e8199b67e3 Cluster test: use larger keyspace in resharding test. 2014-07-23 09:41:01 +02:00
antirez
b4937427db Cluster test: unit 04, consistency during resharding. 2014-07-23 09:41:01 +02:00
antirez
e6ac6a170b Cluster test: test that writes are retained during failovers.
In the test we use WAIT when the master and slave are up, and only later the
partition is created killing the master, so we are sure we don't incur
in failure modes that may lose writes in this test: the goal here is to
make sure that the elected slave was replicating correctly with the
master.
2014-07-23 09:41:01 +02:00
antirez
d080eea03d Test: Pub/Sub PING. 2014-07-18 12:20:56 +02:00
antirez
e236199be8 Test: small integer sharing depends on maxmemory policy. 2014-07-18 12:20:56 +02:00
antirez
639674b309 Test: more reliable AOF rewrite test under write load. 2014-07-18 12:20:56 +02:00
antirez
0e22e4ae91 LATENCY command / monitor basic tests. 2014-07-18 12:20:56 +02:00
antirez
ef7c1fbcef 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-18 12:20:56 +02:00
antirez
93c6ea6c6f Test: AOF rewrite during write load. 2014-07-18 12:20:56 +02:00