Commit Graph

772 Commits

Author SHA1 Message Date
f79b1cb49e Test: added a memory efficiency test. 2013-08-29 16:23:57 +02:00
74c0af21f5 Little typo 2013-08-07 16:05:09 +02:00
cd0ea1f202 Test: regression test for issue #1221. 2013-07-29 17:39:28 +02:00
ddccd0ed58 Test: regression test for issue #1208. 2013-07-22 23:40:48 +02:00
d5f1e4b0b5 Test: add some AOF testing to EVALSHA replication test. 2013-06-25 15:49:07 +02:00
882e36366f Test: EVALSHA replication. 2013-06-25 15:35:48 +02:00
d1f2d0733c Test: randomInt() behavior commented. 2013-06-25 15:32:37 +02:00
7e5be50cbf Test: replication-3 test speedup in master-slave setup. 2013-06-25 15:13:14 +02:00
b02bb47e67 Test: regression test for #1163. 2013-06-19 18:53:07 +02:00
f8ba3b5668 Fix comment typo in integration/aof.tcl. 2013-06-19 18:31:33 +02:00
edd7eb9b7d test-server: only listen to 127.0.0.1
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2013-06-12 22:49:32 +02:00
ca35de1d1f Test: avoid a false positive in min-slaves test. 2013-05-31 11:43:30 +02:00
434a86dbd8 Tests added for min-slaves feature. 2013-05-30 18:54:28 +02:00
d64d2e21c9 Make tests compatible with new INFO replication output. 2013-05-30 11:43:43 +02:00
86a6aad984 Test default config modified to set logfile to empty string.
Required because of recent changes in the way logfile is set to standard
output.
2013-05-15 10:19:14 +02:00
e938575220 Test: more PSYNC tests (backlog TTL). 2013-05-09 12:52:04 +02:00
16f2c3ea14 Test: check that replication partial sync works if we break the link.
The test checks both successful syncs and unsuccessful ones by changing
the backlog size.
2013-05-08 13:01:44 +02:00
c87dd0fe49 Test: various issues with the replication-4.tcl test fixed.
The test actually worked, but vars for master and slave were inverted
and sometimes used incorrectly.
2013-05-08 11:58:26 +02:00
c4656119b6 Test: fix RDB test checking file permissions.
When the test is executed using the root account, setting the permission
to 222 does not work as expected, as root can read files with 222
permission.

Now we skip the test if root is detected.

This fixes issue #1034 and the duplicated #1040 issue.

Thanks to Jan-Erik Rediger (@badboy on Github) for finding a way to reproduce the issue.
2013-04-23 14:16:50 +02:00
4ed2581a92 Test: split conceptually unrelated comments in RDB test. 2013-04-22 11:25:49 +02:00
ace86cfaef Test: remove useless statements and comments from test default config. 2013-04-04 14:30:05 +02:00
dfc31a1ee8 Test: Extended SET tests. 2013-03-28 16:25:24 +01:00
601cea665d Test: regression test for issue #1026. 2013-03-28 11:46:14 +01:00
1b13adf388 Test: verify that lazy-expire works. 2013-03-28 11:36:49 +01:00
252cf3052d Test: test replication of MULTI/EXEC. 2013-03-27 11:44:50 +01:00
40b692e822 Test: Restore DB back to 9 after testing MULTI/EXEC with DB 5. 2013-03-27 11:30:23 +01:00
7572dc47da Test: new functions to capture and analyze the replication stream. 2013-03-27 11:29:47 +01:00
797d98e906 Test: obuf-limits test false positive removed.
Fixes #621.
2013-03-25 11:56:34 +01:00
ae94fe7e48 Test: make sure broken RDB checksum is detected. 2013-03-13 11:12:45 +01:00
82b0eae690 Test: more RDB loading checks.
A test for issue #1001 is included.
2013-03-13 10:04:33 +01:00
0b74a85678 Test: check that Redis starts empty without an RDB file. 2013-03-12 19:55:33 +01:00
dc24a6b132 Return a specific NOAUTH error if authentication is required. 2013-02-12 16:25:41 +01:00
ac8c89cb20 Test: avoid false positives in CLIENT SETNAME closed connection test. 2013-02-12 13:27:24 +01:00
fd7350b084 Test: No clients timeout while testing. 2013-02-05 12:02:46 +01:00
bb7aa1772c Merge pull request #906 from jbergstroem/tclsh-agnostic
Make redis test suite tcl version agnostic, v2
2013-02-05 02:43:56 -08:00
d2b27f1d96 Tests for keyspace notifications. 2013-01-28 13:15:22 +01:00
562b2bd6a7 Keyspace notifications: fixed a leak and a bug introduced in the latest commit. 2013-01-28 13:15:16 +01:00
fce016d31b Keyspace events: it is now possible to select subclasses of events.
When keyspace events are enabled, the overhead is not sever but
noticeable, so this commit introduces the ability to select subclasses
of events in order to avoid to generate events the user is not
interested in.

The events can be selected using redis.conf or CONFIG SET / GET.
2013-01-28 13:15:12 +01:00
40f822da73 Enable keyspace events notification when testing. 2013-01-28 13:15:01 +01:00
1154283577 Use info nameofexectuable to find current executable 2013-01-24 09:37:18 +11:00
acb046773d Enforce tcl 8.5 or newer 2013-01-24 09:36:59 +11:00
2039f1a38a UNSUBSCRIBE and PUNSUBSCRIBE: always provide a reply.
UNSUBSCRIBE and PUNSUBSCRIBE commands are designed to mass-unsubscribe
the client respectively all the channels and patters if called without
arguments.

However when these functions are called without arguments, but there are
no channels or patters we are subscribed to, the old behavior was to
don't reply at all.

This behavior is broken, as every command should always reply.
Also it is possible that we are no longer subscribed to a channels but we
are subscribed to patters or the other way around, and the client should
be notified with the correct number of subscriptions.

Also it is not pretty that sometimes we did not receive a reply at all
in a redis-cli session from these commands, blocking redis-cli trying
to read the reply.

This fixes issue #714.
2013-01-21 19:02:26 +01:00
08d200baeb Slowlog: don't log EXEC but just the executed commands.
The Redis Slow Log always used to log the slow commands executed inside
a MULTI/EXEC block. However also EXEC was logged at the end, which is
perfectly useless.

Now EXEC is no longer logged and a test was added to test this behavior.

This fixes issue #759.
2013-01-19 12:53:21 +01:00
9d09ce3981 Fixed many typos. 2013-01-19 10:59:44 +01:00
ea1f503cfe Tests for CLIENT GETNAME/SETNAME. 2013-01-15 13:34:17 +01:00
a5cc063c17 Test: added regression for issue #872. 2013-01-10 11:10:31 +01:00
a18ca73681 Test: fixed osx "leaks" support in test.
Due to changes in recent releases of osx leaks utility, the osx leak
detection no longer worked. Now it is fixed in a way that should be
backward compatible.
2012-12-03 12:06:38 +01:00
c135b856c6 Test: regression for issue #801. 2012-12-02 20:43:11 +01:00
f50e658455 SDIFF is now able to select between two algorithms for speed.
SDIFF used an algorithm that was O(N) where N is the total number
of elements of all the sets involved in the operation.

The algorithm worked like that:

ALGORITHM 1:

1) For the first set, add all the members to an auxiliary set.
2) For all the other sets, remove all the members of the set from the
auxiliary set.

So it is an O(N) algorithm where N is the total number of elements in
all the sets involved in the diff operation.

Cristobal Viedma suggested to modify the algorithm to the following:

ALGORITHM 2:

1) Iterate all the elements of the first set.
2) For every element, check if the element also exists in all the other
remaining sets.
3) Add the element to the auxiliary set only if it does not exist in any
of the other sets.

The complexity of this algorithm on the worst case is O(N*M) where N is
the size of the first set and M the total number of sets involved in the
operation.

However when there are elements in common, with this algorithm we stop
the computation for a given element as long as we find a duplicated
element into another set.

I (antirez) added an additional step to algorithm 2 to make it faster,
that is to sort the set to subtract from the biggest to the
smallest, so that it is more likely to find a duplicate in a larger sets
that are checked before the smaller ones.

WHAT IS BETTER?

None of course, for instance if the first set is much larger than the
other sets the second algorithm does a lot more work compared to the
first algorithm.

Similarly if the first set is much smaller than the other sets, the
original algorithm will less work.

So this commit makes Redis able to guess the number of operations
required by each algorithm, and select the best at runtime according
to the input received.

However, since the second algorithm has better constant times and can do
less work if there are duplicated elements, an advantage is given to the
second algorithm.
2012-11-30 16:36:42 +01:00
395d663d29 SDIFF fuzz test added. 2012-11-30 01:35:34 +01:00