Commit Graph

390 Commits

Author SHA1 Message Date
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
2bcd18a2e9 Redis test: include bug report on crash.
Due to a change in the format of the bug report in case of crash of
failed assertion the test suite was no longer able to properly log it.
Instead just a protocol error was logged by the Redis TCL client that
provided no clue about the actual problem.

This commit resolves the issue by logging everything from the first line
of the log including the string REDIS BUG REPORT, till the end of the
file.
2012-05-22 13:13:24 +02:00
antirez
27737964c4 If the computer running the Redis test is slow, we revert to --clients 1 to avoid false positives. 2012-05-11 17:26:16 +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
d9241b35e5 Properly wait the slave to sync with master in BRPOPLPUSH test. 2012-04-30 10:55:03 +02:00
antirez
2d4b55214f A more lightweight implementation of issue 141 regression test. 2012-04-29 17:16:44 +02:00
antirez
28ccb53008 Redis test: More reliable BRPOPLPUSH replication test.
Now it uses the new wait_for_condition testing primitive.
Also wait_for_condition implementation was fixed in this commit to properly
escape the expr command and its argument.
2012-04-26 11:25:13 +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
92cc20ecfe Merge remote-tracking branch 'origin/unstable' into unstable 2012-04-21 20:35:51 +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
Salvatore Sanfilippo
28d1ee2cda Merge pull request #414 from chobits/unstable
fix typos in tests/assets/default.conf
2012-04-21 03:27:15 -07: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
ff79ab71db redis.tcl: no longer leave unread replies if an error happens during a MULTI/EXEC block. 2012-04-06 23:52:28 +02:00
Salvatore Sanfilippo
0934a4df93 Merge pull request #430 from anydot/f-testsuite
Two changes of testsuite (killing redis and new option)
2012-04-05 01:56:12 -07:00
antirez
459e2975f4 On slow computers, 10 seconds are not enough for this heavy replication test. 2012-04-04 19:54:23 +02:00
antirez
15113dcd3d More MIGRATE tests. 2012-04-03 15:10:51 +02:00
Premysl Hruby
9184f8fd00 in kill_server send the signal once, then wait for up to 5sec before sending lethal SIGKILL 2012-04-03 14:20:52 +02:00
Premysl Hruby
7cc17ed8ff new option for choosing number of test clients to run 2012-04-03 14:20:52 +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
22c9c4076b Regression test for issue 417 (memory leak when replicating to DB with id >= 10) 2012-03-30 10:26:07 +02:00
Xiaochen Wang
f2305046ef fix typos in tests/assets/default.conf 2012-03-29 18:23:04 +08:00
antirez
6aa2f98938 Test for redis.sha1hex(). 2012-03-28 20:47:50 +02:00
antirez
0fefb5bbeb Redis test: regexp to check if valgrind reported errors modified. Now we no longer look at the total count because this includes "possibly lost" bytes that are not interesting for Redis (tons of false positives because of how sds.c works). 2012-03-28 10:55:17 +02:00
antirez
512f682340 convert-zipmap-hash-on-load false positive fixed.
Apparently because the sample RDB file was not copied before every test
Redis had a chance to replace it with a newly written one, so that the
next test could fail.
2012-03-25 11:02:16 +02:00
antirez
0f9997845a Merge remote-tracking branch 'origin/unstable' into unstable 2012-03-24 12:07:58 +01:00
antirez
74f10793c8 When running the test in valgrind mode, pass the right flags to show memory leaks stack traces but only including the "definitely lost" items. 2012-03-24 12:07:14 +01:00
antirez
c79373482f convert-zipmap-hash-on-load test enabled 2012-03-24 11:42:20 +01:00
antirez
6c658d5554 Contextualize comment. 2012-03-23 20:24:40 +01:00
antirez
03116904c3 RDB load of different encodings test added. 2012-03-23 20:24:30 +01:00
antirez
7dcdd281f5 DEBUG should not be flagged as w otherwise we can not call DEBUG DIGEST and other commands against read only slaves. 2012-03-20 17:53:47 +01:00
antirez
6df450b77c CLIENT LIST test modified to reflect the new output. 2012-03-13 18:06:29 +01:00
antirez
87faf90696 hash-max-zipmap-... renamed hash-max-ziplist-... in defalt conf for tests. 2012-03-10 12:14:17 +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
Pieter Noordhuis
80586cb894 Test that zipmap from RDB is correctly converted 2012-01-25 13:28:11 -08: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
06312eed86 Possible fix for false positives in issue 141 regression test 2012-01-12 16:24:54 +01:00
antirez
414c3deac1 Regression test for the main problem causing issue #141. Minor changes/fixes/additions to the test suite itself needed to write the test. 2012-01-06 17:28:40 +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
antirez
202e3091d7 Redis test: when assertion fails print not just the expression but also expanded values in the error message. 2011-12-21 09:23:22 +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
f4bddefecd unit/introspection added among tests executed by default 2011-12-19 10:18:27 +01:00
antirez
da33edbc58 Merge remote-tracking branch 'origin/unstable' into unstable 2011-12-13 11:16:34 +01:00
antirez
570bbcf8e0 Added tests for AOF rewrite. 2011-12-13 11:10:36 +01:00
antirez
954cc9d0f6 Redis test: vaoid two false positives while running under valgrind. 2011-12-10 13:28:32 +01:00
antirez
43093dff2d Redis test: two redundant tests removed as they tend to create issues when running the test with valgrind. 2011-12-07 18:31:39 +01:00
antirez
b1d08d4540 Redis test: wait more time for the server to start if it is running using valgrind. 2011-12-07 17:51:21 +01:00
antirez
dfcf5a0ac8 Redis test port allocation fixed. 2011-12-07 17:15:17 +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
846bcd9abe Redis test: handle inability to start the server in a better way. 2011-12-07 11:47:38 +01:00
antirez
237194b760 Fixed SORT bugs (issue #224) with regression tests. 2011-12-01 16:08:05 +01:00
antirez
38b957d8ba --quiet option implemented in the Redis test. Output improved a bit. 2011-11-29 16:29:12 +01:00
antirez
53a2af3941 still problems with the AOF race regression test, disabling it again for now 2011-11-28 10:35:30 +01:00
antirez
674df1eef5 Added regression tests for issue #209 2011-11-25 12:27:29 +01:00
antirez
5c63922691 aof-race test reenabled now that port allocation of the test suite is smarter 2011-11-18 15:53:47 +01:00