645 Commits

Author SHA1 Message Date
antirez
cbf6614c1a Regression test for issue #2813. 2015-10-15 11:25:19 +02:00
antirez
652e662d1a Test: fix false positive in HSTRLEN test.
HINCRBY* tests later used the value "tmp" that was sometimes generated
by the random key generation function. The result was ovewriting what
Tcl expected to be inside Redis with another value, causing the next
HSTRLEN test to fail.
2015-09-15 09:38:26 +02:00
antirez
a0ff29bcf2 Test: MOVE expire test improved.
Related to #2765.
2015-09-14 12:37:13 +02:00
antirez
5b6c764711 MOVE now can move TTL metadata as well.
MOVE was not able to move the TTL: when a key was moved into a different
database number, it became persistent like if PERSIST was used.

In some incredible way (I guess almost nobody uses Redis MOVE) this bug
remained unnoticed inside Redis internals for many years.
Finally Andy Grunwald discovered it and opened an issue.

This commit fixes the bug and adds a regression test.

Close #2765.
2015-09-14 12:32:23 +02:00
antirez
dcc5ee156f Fix RDB encoding test for new csvdump format. 2015-08-05 14:05:39 +02:00
antirez
547ccc4b5e Test: csvdump now scans all DBs. 2015-08-05 13:53:32 +02:00
antirez
1dccb6cffb PSYNC test: also test the vanilla SYNC. 2015-08-05 13:52:57 +02:00
antirez
32e979801b Test PSYNC with diskless replication.
Thanks to Oran Agra from Redis Labs for providing this patch.
2015-08-05 13:45:02 +02:00
antirez
0da453160b Test: ZADD CH tests 2015-05-29 12:27:17 +02:00
antirez
df7add9e70 Test: ZADD INCR test 2015-05-29 12:27:17 +02:00
antirez
9003483d43 Test: ZADD NX and XX options tests 2015-05-29 12:27:17 +02:00
antirez
9c0a68861e Sentinel: CKQUORUM tests 2015-05-19 12:27:19 +02:00
Glenn Nethercutt
3a9f41ad86 uphold the smove contract to return 0 when the element is not a member of the source set, even if source=dest 2015-05-15 17:39:37 +02:00
antirez
e42baed4c3 Test: be more patient waiting for servers to exit.
This should likely fix a false positive when running with the --valgrind
option.
2015-04-01 15:20:54 +02:00
antirez
93959bc09f Sentinel / Cluster test: exit with non-zero error code on failures. 2015-03-30 14:29:18 +02:00
antirez
2e92d0f04a Test: regression for issue #2473. 2015-03-27 12:11:27 +01:00
antirez
66899a42fc Cluster: unit 10 modified to leave cluster in proper state. 2015-03-22 23:00:38 +01:00
antirez
76b18c7a0e Cluster: CLUSTER FAILOVER TAKEOVER tests. 2015-03-22 23:00:38 +01:00
antirez
ca804a1022 Cluster: more tests for manual failover + FORCE. 2015-03-22 23:00:38 +01:00
antirez
d15d9fecd2 Cluster: new tests1 for manual failover and scripts replication. 2015-03-22 23:00:38 +01:00
antirez
6ec87978de Added regression test for issue #2371. 2015-03-18 11:29:32 +01:00
antirez
9c40565bbe Faster memory efficiency test.
This test on Linux was extremely slow, since in Tcl we can't enable
easily tcp-nodelay, so the busy loop used to take *a lot* with bigger
writes. Fixed using pipelining.
2015-02-10 14:48:25 +01:00
antirez
267f2ec40b Avoid duplicated instance execution code in Cluster test. 2015-01-22 18:59:44 +01:00
antirez
400ae01a7f Cluster test: when valgrind is enabled, use a larger node-timeout.
Removes some percentage of timing related failures.
2015-01-22 16:31:36 +01:00
antirez
7e41200b98 Cluster test initialization: use transaction for reset + set-config-epoch.
Otherwise between the two commands other nodes may contact us making the
next SET-CONFIG-EPOCH call impossible.
2015-01-22 11:12:28 +01:00
antirez
c8f9037477 Cluster test: wait for port to unbound in kill_instance.
Otherwise kill_instance + restart_instance in short succession will
still find the port busy and will fail.
2015-01-22 10:35:23 +01:00
antirez
707d97ac4f Cluster/Sentinel test: also pause on abort_sentinel_test call. 2015-01-22 10:35:19 +01:00
antirez
4688f60b4b Cluster/Sentinel test: pause on exceptions as well. 2015-01-22 10:35:16 +01:00
Matt Stancliff
98f56f8f9e Add --track-origins=yes to valgrind 2015-01-22 10:35:04 +01:00
Matt Stancliff
fa470fe782 Tell sentinel/cluster tests to allow valgrind 2015-01-22 10:35:00 +01:00
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