antirez
bc70b8e5f4
Tests modified to account for INFO fields renaming.
...
Commit 33e1db36fa
modified the name of a
few INFO fields. This commit changes the Redis test to account for this
changes.
2012-05-25 15:20:59 +02:00
antirez
d866803818
BITOP command 10x speed improvement.
...
This commit adds a fast-path to the BITOP that can be used for all the
bytes from 0 to the minimal length of the string, and if there are
at max 16 input keys.
Often the intersected bitmaps are roughly the same size, so this
optimization can provide a 10x speed boost to most real world usages
of the command.
Bytes are processed four full words at a time, in loops specialized
for the specific BITOP sub-command, without the need to check for
length issues with the inputs (since we run this algorithm only as far
as there is data from all the keys at the same time).
The remaining part of the string is intersected in the usual way using
the slow but generic algorith.
It is possible to do better than this with inputs that are not roughly
the same size, sorting the input keys by length, by initializing the
result string in a smarter way, and noticing that the final part of the
output string composed of only data from the longest string does not
need any proecessing since AND, OR and XOR against an empty string does
not alter the output (zero in the first case, and the original string in
the other two cases).
More implementations will be implemented later likely, but this should
be enough to release Redis 2.6-RC4 with bitops merged in.
Note: this commit also adds better testing for BITOP NOT command, that
is currently the faster and hard to optimize further since it just
flips the bits of a single input string.
2012-05-24 15:20:20 +02:00
antirez
fa4a5d5922
BITOP: handle integer encoded objects correctly.
...
A bug in the implementation caused BITOP to crash the server if at least
one one of the source objects was integer encoded.
The new implementation takes an additional array of Redis objects
pointers and calls getDecodedObject() to get a reference to a string
encoded object, and then uses decrRefCount() to release the object.
Tests modified to cover the regression and improve coverage.
2012-05-24 15:20:16 +02:00
antirez
01d3a7e736
Bit operations tests improved.
...
Fuzzing tests of BITCOUNT / BITOP are iterated multiple times.
The new BITCOUNT fuzzing test uses random strings in a wider interval of
lengths including zero-len strings.
2012-05-24 15:20:02 +02:00
antirez
a3f2b4895b
BITOP and BITCOUNT tests.
...
The Redis implementation is tested against Tcl implementations of the
same operation. Both fuzzing and testing of specific aspects of the
commands behavior are performed.
2012-05-24 15:19:48 +02:00
antirez
348ee1a40a
Fixed issue #516 (ZINTERSTORE mixing sets and zsets).
...
Weeks ago trying to fix an harmless GCC warning I introduced a bug in
the ziplist-encoded implementations of sorted sets.
The bug completely broke zuiNext() iterator, that is used in the
ZINTERSTORE and ZUNIONSTORE implementation, so those two commands are no
longer reliable starting from Redis version 2.4.12 and latest 2.6.0-RC
releases.
This commit fixes the problem and adds a regression test.
2012-05-23 11:12:43 +02:00
antirez
92997d06ea
Test "Turning off AOF kills the background writing child if any" is now more reliable.
2012-05-02 11:40:46 +02:00
Harmen
2ac546e00c
Show problem with 'keys' command with specific command sequence.
2012-05-01 10:51:59 +02:00
antirez
5080e625d3
Redis test: scripting EVALSHA replication test more reliable.
...
A new primitive wait_for_condition was introduced in the scripting
engine that makes waiting for events simpler, so that it is simpler to
write tests that are more resistant to timing issues.
2012-04-26 11:16:52 +02:00
antirez
c4a4755286
Ziplist encoding now tested with negative integers as well.
2012-04-23 17:27:46 +02:00
Salvatore Sanfilippo
c22e0eecd5
Merge pull request #461 from schlenk/unstable
...
Replace some unnecessary calls to echo and cat in tests
2012-04-23 02:07:21 -07:00
antirez
4e7cc35f1a
New time limit for protocol desync test set to 30 seconds to reduce false positives.
2012-04-23 10:57:43 +02:00
antirez
d3701d2714
Limit memory used by big SLOWLOG entries.
...
Two limits are added:
1) Up to SLOWLOG_ENTRY_MAX_ARGV arguments are logged.
2) Up to SLOWLOG_ENTRY_MAX_STRING bytes per argument are logged.
3) slowlog-max-len is set to 128 by default (was 1024).
The number of remaining arguments / bytes is logged in the entry
so that the user can understand better the nature of the logged command.
2012-04-21 20:34:45 +02:00
antirez
47db53c3c3
New tests related to scripts max execution time.
2012-04-19 23:49:33 +02:00
antirez
5498e7bc76
Tests for scripting PRNG.
2012-04-18 23:50:16 +02:00
antirez
cddfd67ed4
Test SDIFF with first set empty.
2012-04-18 18:13:31 +02:00
antirez
4264459141
Test SINTER against same integer elements, but different set encoding.
2012-04-18 18:10:48 +02:00
antirez
f800942f64
Test SINTER with non existing key.
2012-04-18 18:05:02 +02:00
antirez
88f77a2b7e
Added an SMOVE test where src and dest key are the same.
2012-04-18 18:00:12 +02:00
antirez
e51a218aaa
New hash fuzzing test.
2012-04-18 17:56:17 +02:00
antirez
79daddd5ba
Explicit RPOP/LPOP tests.
2012-04-18 17:32:48 +02:00
antirez
7aa0dfd014
Test LINSERT syntax error.
2012-04-18 17:22:14 +02:00
antirez
94e5c1d7e5
Test LINDEX out of range index.
2012-04-18 17:17:53 +02:00
antirez
8ec9b03c6b
More robust maxclients test.
2012-04-18 11:34:18 +02:00
Michael Schlenker
875944a23f
Replace unnecessary calls to echo and cat
...
Tcl's exec can send data to stdout itself, no need to call cat/echo for
that usually.
2012-04-17 22:20:54 +02:00
antirez
6a3f0ac68a
Added test for SORT corner case: pattern ending with just "->".
2012-04-17 16:28:59 +02:00
antirez
0705ff3f04
Less false positives in maxclients test, hopefully.
2012-04-17 10:04:42 +02:00
antirez
93a74949d7
Merge branch 'strict.lua' into unstable
2012-04-13 16:16:13 +02:00
antirez
13a21caae3
New test for scripting engine: DECR_IF_GT.
2012-04-13 15:23:32 +02:00
antirez
3cd4ad267c
Tests modified to match the new global protection implementation.
2012-04-13 13:40:57 +02:00
antirez
2fd7c9efde
Tests for lua globals protection.
2012-04-13 11:48:45 +02:00
antirez
a3af8d8e49
Test for maxclients.
2012-04-08 11:16:40 +02:00
antirez
69e7958918
Added new test to check that "CONFIG appendonly no" actually kills the background AOF operation in progress if any.
2012-04-07 13:22:04 +02:00
antirez
4ce22375f4
Tests for MONITOR.
2012-04-07 11:26:24 +02:00
antirez
09f66a0be8
New client info field added to CLIENT LIST output: multi, containing the length of the current pipeline. Test modified accordingly.
2012-04-07 11:14:52 +02:00
antirez
0daf7a2d16
Two new tests for BGREWRTIEAOF.
...
Check for scheduled rewrite if a BGSAVAE is in progress.
Check for error if a rewrite is already in progress.
2012-04-06 23:52:53 +02:00
antirez
15113dcd3d
More MIGRATE tests.
2012-04-03 15:10:51 +02:00
antirez
06e178708e
MIGRATE test modified because the implementation changed.
2012-04-02 16:38:59 +02:00
antirez
ab8232d022
DUMP, RESTORE, MIGRATE tests.
2012-04-02 11:44:25 +02:00
antirez
6aa2f98938
Test for redis.sha1hex().
2012-03-28 20:47:50 +02:00
antirez
6df450b77c
CLIENT LIST test modified to reflect the new output.
2012-03-13 18:06:29 +01:00
antirez
8562798308
Merge conflicts resolved.
2012-03-09 22:07:45 +01:00
antirez
fcdeb98568
even less false positive on obuf-limits test.
2012-02-22 11:25:30 +01:00
antirez
d347348109
Issue #330 regression test.
2012-02-16 16:13:40 +01:00
antirez
c17947287a
Added tests checking ability of the scripting engine to reorder the output of commands with a random output regarding signle elements position in the multi bulk reply.
2012-02-01 17:49:03 +01:00
antirez
44d77bb217
A few SORT tests made more resistant to false negatives resulitng from poor randomization of Redis hash function with one byte inputs.
2012-02-01 17:37:48 +01:00
antirez
01f75bf352
New SORT tests checking the new more deterministic behavior of SORT sorting algorithm.
2012-02-01 17:17:52 +01:00
antirez
de79a2ee12
Make SORT BY <constant> STORE ... to always produce the same output by force sorting, so that we have deterministic replication of this command.
2012-02-01 17:05:45 +01:00
antirez
2c861050c1
SORT is now more deterministic: does not accept to compare by score items that have scores not representing a valid double. Also items with the same score are compared lexycographically. At the same time the scripting side introduced the ability to sort the output of SORT when sort uses the BY <constant> optimization, resulting in no specific ordering. Since in this case the user may use GET, and the result of GET can be null, converted into false as Lua data type, this commit also introduces the ability to sort Lua tables containining false, only if the first (faster) attempt at using just table.sort with a single argument fails.
2012-02-01 15:22:28 +01:00
antirez
fc4ed4299b
minimal change to obuf-limits.tcl test to make sure there are no false positives with 32bit instances as well.
2012-01-30 21:08:10 +01:00
Michal Kwiatkowski
a0bf8d0ad8
SORT with STORE removes key if result is empty. This fixes issue #227 .
2012-01-30 07:36:49 +01:00
antirez
6c29410117
false positive in expire tests mitigated with a sleep, but other solutions exist if needed later.
2012-01-26 16:45:08 +01:00
antirez
7f7a13b27b
Less false positives for obuf-limits.tcl tests
2012-01-26 16:08:24 +01:00
antirez
da9c4cc147
Added test for client output buffer limit (soft limit).
2012-01-25 18:34:56 +01:00
antirez
efc8f6c1a2
Added test for client output buffer limit (hard limit).
2012-01-25 18:11:04 +01:00
antirez
3c0602ff41
CLIENT LIST test fixed (there is a new omem field in the output)
2012-01-23 16:19:49 +01:00
antirez
06f8a473fc
Regression tests for protocol desync bug related to Issue #141
2012-01-06 12:54:29 +01:00
Pieter Noordhuis
ebd85e9a45
Encode small hashes with a ziplist
2012-01-02 22:14:10 -08:00
antirez
9678c37577
Added regression test for ZUNIONSTORE creating NaN (github issue #264 )
2011-12-23 09:34:06 +01:00
antirez
d334281c80
Merge remote-tracking branch 'origin/unstable' into unstable
2011-12-21 17:13:31 +01:00
antirez
b4fb720b10
A test modified to pass with the new AOF start/stop semantics.
2011-12-21 09:24:14 +01:00
BigCat
f54c299091
I found that no test will fail even if I broke the SORT x LIMIT y z
code.
...
Added a naive unit test for SORT-LIMIT command.
2011-12-19 19:49:34 +08:00
antirez
3ae5a308db
unit/introspection.tcl added
2011-12-19 10:21:50 +01:00
antirez
570bbcf8e0
Added tests for AOF rewrite.
2011-12-13 11:10:36 +01:00
antirez
85b69afede
EXPIRE tests more tolerant to random latency while the test is running.
2011-12-07 12:44:27 +01:00
antirez
237194b760
Fixed SORT bugs (issue #224 ) with regression tests.
2011-12-01 16:08:05 +01:00
antirez
674df1eef5
Added regression tests for issue #209
2011-11-25 12:27:29 +01:00
antirez
bf758397a1
more valgrind (and other archs) friendly testing of floating number related features.
2011-11-16 14:40:50 +01:00
antirez
cd4aba36cd
valgrind handles floating point numbers differently for some reason, so using "simpler" numbers to make tests happy.
2011-11-16 13:35:22 +01:00
antirez
3c5680ed9d
HINCRBYFLOAT tests
2011-11-15 15:26:10 +01:00
antirez
d4a3cfed9c
Merge branch 'unstable' into incrbyfloat
2011-11-14 15:59:56 +01:00
antirez
70023978fd
test for the new more strict behavior about number parsing
2011-11-14 15:39:55 +01:00
antirez
c9df799b2c
INCRBYFLOAT tests
2011-11-14 15:37:13 +01:00
antirez
d93f9a8644
string to number API is now more strict not accepting spaces before or after the number. A few tests converted to match the new error messages using the word float instead of double.
2011-11-14 15:34:44 +01:00
antirez
762eea07ca
Added test to make sure Redis evicts expired keys actively (and not just in a lazy fashion).
2011-11-12 11:27:38 +01:00
antirez
64c7499eb8
new tests for EXPIRE family functions, new millisecond precision, and new millisecond argument variants.
2011-11-11 15:11:50 +01:00
antirez
ef23f3ac92
Script max execution time test disabled for now since it is no longer enforced.
2011-10-31 16:09:07 +01:00
antirez
e5abf6ef19
SCRIPT LOAD now returns the SHA1 instead of +OK
2011-10-25 14:46:15 +02:00
antirez
e8c993f0fb
Fixes for the scripting refactoring and new commands. Tests for the new features.
2011-10-25 11:19:15 +02:00
antirez
9ed32ba083
Redis.call is now split into two variants of the same function. Redis.call will raise an error by default. Redis.pcall will return the error object instead.
2011-10-20 16:02:23 +02:00
antirez
ab52d1f4a8
Fix for issue #132 . Now AUTH raises an error if no server password is configured.
2011-10-10 22:21:17 +02:00
antirez
02a3e58258
Added two new tests for RENAME, currently both will fail because of bug #128 .
2011-10-10 12:01:13 +02:00
antirez
7864ef8551
new tests for the scripting engine: not allowed commands and write commands after random commands.
2011-09-27 15:39:41 +02:00
antirez
7551e23716
regression test for bug 593 added
2011-09-12 10:53:49 +02:00
antirez
f65c8f654f
Merge remote-tracking branch 'origin/unstable' into unstable
2011-07-28 14:40:47 +02:00
antirez
4bb1ccc6eb
Regression for a crash with blocking ops and pipelining
2011-07-28 14:40:06 +02:00
antirez
3d9704d335
Merge remote branch 'origin/unstable' into unstable
2011-07-28 12:33:17 +02:00
antirez
243b783fdc
Maxmemory test
2011-07-28 12:32:52 +02:00
Pieter Noordhuis
2d7162bb1d
HDEL: Abort deleting fields when hash is removed
2011-07-27 12:29:40 +02:00
antirez
d50292d2cc
make a scripting test more valgrind friendly
2011-07-15 18:28:24 +02:00
antirez
61fee31999
test that EVALSHA is replicated as EVAL
2011-07-15 17:41:40 +02:00
antirez
0681c5ad84
master branch merged into scripting.
2011-07-12 12:39:16 +02:00
antirez
34a8b51768
solved a slow positive in the slow log test when the test is executed slowly
2011-07-11 16:04:18 +02:00
antirez
bf1379c8df
fixed another timing issue when running the test over valgrind or with very slow PCs
2011-07-11 15:58:31 +02:00
antirez
0717e3aa16
fix a test timing issue when running the test over valgrind
2011-07-11 15:44:38 +02:00
antirez
121ffc85f4
better recap of failed tests.
2011-07-11 12:56:00 +02:00
antirez
04e2410d2d
initial support for failed tests summary at end of the test.
2011-07-11 12:44:55 +02:00
antirez
30cf7be60c
the test runs less iterations of slow tests if no --accurate is given.
2011-07-11 12:15:35 +02:00
antirez
6209797d37
list test further split into smaller units
2011-07-11 11:41:23 +02:00
antirez
e46f78bd26
list test split into smaller parts
2011-07-11 11:30:46 +02:00