Commit Graph

391 Commits

Author SHA1 Message Date
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 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