63 Commits

Author SHA1 Message Date
Remi Collet
627bd89b45 skip online test 2018-02-08 05:47:28 +01:00
michael-grunder
2828c2f187 Merge branch 'issue.1287' into develop 2018-01-25 10:59:40 -08:00
michael-grunder
625fadeb51 Merge branch 'swapdb-command' into develop 2018-01-18 17:38:09 -08:00
michael-grunder
03f77018ce Add a test for SWAPDB 2018-01-18 11:01:53 -08:00
michael-grunder
84f1f28ba2 Implement SWAPDB command 2018-01-18 09:04:25 -08:00
michael-grunder
9e65c42931 Implement UNLINK command
This commit implements UNLINK for Redis, RedisCluster, and RedisArray.
To a client library UNLINK behaves identically to DEL so we can use the
same handlers for both.
2018-01-17 09:36:38 -08:00
michael-grunder
815d2013b4 Much simpler exception test 2018-01-12 09:01:06 -08:00
michael-grunder
4090af15b8 Adds a test for throwing a connect exception 2018-01-11 19:29:14 -08:00
michael-grunder
81f44dcc00 Skip ZRANGEBYLEX check if use is running Redis < 2.8.9 2017-12-15 08:13:57 -08:00
ndxbn
a99c450e82 add test for zRangeByLex method 2017-12-15 21:39:29 +09:00
michael-grunder
dff7e15ed6 Actually use each potential invalid count in test 2017-10-22 23:27:57 -07:00
michael-grunder
f7edee5d8b More robust GEORADIUS COUNT validation
While testing example code for Geo codes I discovered that passing
a negative count would cause PhpRedis to hang as it would send an
invalid number of arguments to the server.
2017-10-22 18:48:02 -07:00
Pavlo Yatsukhnenko
8cb2d5bd94 Issue #1048
This commit is adding support of data compression.
LZF was choosen because it small and fast and Redis server uses it.
Since [pecl package](https://pecl.php.net/package/lzf) doesn't provide
lzf.h file after installing, LZF library was added as submodule.
Another algorythms may be easely added by analogy with serializers.
TODO: unit-tests for different data types.
2017-10-17 17:08:42 +03:00
michael-grunder
caf5c9984c Use old style array syntax 2017-08-20 13:45:10 -07:00
michael-grunder
cccc3997e9 Update EXISTS to handle multiple keys
Fixes #1223
2017-08-20 13:28:00 -07:00
michael-grunder
77aebadc73 Tests for doubling up on pipeline/multi calls 2017-08-14 15:06:57 -07:00
Pavlo Yatsukhnenko
5874b0775b Allow mixing multi and pipeline modes 2017-08-08 23:17:49 +03:00
Pavlo Yatsukhnenko
ad45964150 Using ZVAL_DEREF macros for dereference input variables.
This PR fixes issues #946 and #1166.
2017-05-09 23:17:20 +03:00
michael-grunder
d2e203a630 Adds optional COUNT argument to sPop
Fixes #1145
2017-04-16 21:21:31 -07:00
Pavlo Yatsukhnenko
0c7b5f4771 Merge branch 'issue.1087' into develop 2017-03-04 19:56:36 +02:00
Pavlo Yatsukhnenko
c52077b7b0 Issue #1087
`hStrLen` command
2017-03-04 19:27:31 +02:00
michael-grunder
4cd06b2908 Add a test for passing a single array into sInterStore 2017-01-27 12:17:54 -08:00
michael-grunder
6c1101f0e7 Test for calling connect multiple times on the same object 2017-01-02 17:54:01 -08:00
Remi Collet
52dbe95c29 fix rounding issue on arm 2016-12-22 11:54:54 +01:00
Remi Collet
f4cfc0ae19 Fix #1056 failed test on 32bits 2016-12-22 11:00:59 +01:00
Pavlo Yatsukhnenko
a90bac2cff TravisCI: fix session test 2016-12-18 23:07:36 +02:00
Pavlo Yatsukhnenko
81d2cba557 TravisCI: session 2016-12-17 22:51:04 +02:00
Pavlo Yatsukhnenko
c799d256ce zval_get_string + zAdd tests fix 2016-12-04 21:17:06 +02:00
Pavlo Yatsukhnenko
a23e36f208 zval_get_string
Added gc attribute to zend_string (for zend_string_release).
Added function zval_get_string and replace convert_to_string with it.
2016-12-02 16:04:59 +02:00
iyesin
aaffa7c2de Update RedisTest.php 2016-11-16 10:42:55 +00:00
iyesin
8b312f8e68 Make test for correct long reply 2016-11-15 20:21:59 +00:00
sitri
afcd8445f7 fix #942 2016-09-09 21:49:44 +09:00
Pavlo Yatsukhnenko
9fc094ad07 Travis CI 2016-08-03 23:58:58 +03:00
michael-grunder
3a12758a39 Fix incrby/decrby for large integers 2016-07-01 14:09:34 -07:00
michael-grunder
68cf720ff6 Skip GEO* tests if version < 3.2.0 2016-06-10 11:13:03 -07:00
michael-grunder
3a33700c28 Cluster geo commands and a generic so cluster and redis tests both work 2016-06-08 12:28:57 -07:00
michael-grunder
f4bf4e306a Geo* unit tests 2016-06-07 13:09:22 -07:00
michael-grunder
3012052849 More IPv6 additions
* Modified RedisArray to support IPv6
* Updated general test suite to take an override host
* Updated make-cluster.sh to take an override host
2016-02-12 18:10:50 -08:00
michael-grunder
622709f311 Added a test for 'raw' commands 2015-05-07 18:12:52 -07:00
michael-grunder
08ecec92a3 Unit test suite improvements and cluster failover test
* Added a test specifically for RedisCluster to test slave failover
  settings.
* Added an option to specifically disable colorization, as well as
  a mechanism to determine if the output is being piped, such that
  we can turn colorization off in that case as well.
2015-05-05 15:18:02 -07:00
michael-grunder
7ef7d07854 A few minor cluster and unit test fixes
* Fixed getLastError() to look at redisCluster->err, rather than flags
* Fixed serialization bug for zipstr multibulk processing
* Added specific RedisClusterTest tests for SCRIPT and EVALSHA commands

All unit tests passing now!  \o/
2015-05-05 15:16:50 -07:00
michael-grunder
366363e4fa Properly handle MULTI lines within a MULTI-BULK of -1 (nil) 2015-05-05 15:16:50 -07:00
michael-grunder
2f8a2fc35e Fix variant reply handling in MULTI mode 2015-05-05 15:16:50 -07:00
michael-grunder
7a106d51d6 Response handler fixes
* Fixed serialization for various multi-bulk responses
* Properly handle NULL BULK replies for variant replies
2015-05-05 15:16:50 -07:00
michael-grunder
54a521e227 Cluster fixes
* STRLEN should use cluster_long_response
* Updated multibulk processing to return an empty array on *-1
2015-05-05 15:16:50 -07:00
michael-grunder
469e8e9377 Various cluster fixes and Unit test updates
* Updated the unit test suite to print each unit test method name we're
  running as we do so, and also with fancy colors :-)
* Added functionality to handle failed transactions, where Redis will send
  us a multi bulk length of -1.  This can happen because of an EXECABORT
  error, or because a watched key was modified during the transaction
* Initialize serialized return value to NULL to avoid segfault
* use strtol not atoi in our long response handler, to handle large values
* Fixed our return value in multi responses
* Fiexed type() command as cluster doesn't still have the '+' prefix when
  checking for what TYPE returns
* Exists should return a BOOLEAN not 1/0
* Fixed sRandMember to work in the context of a MULTI block
* Use "LINDEX" not "LGET" as "LGET" isn't a valid Redis command
* Properly set our slot for the PFCOUNT command
* Many unit test changes such that Redis and RedisCluster are happy using
  mostly the same ones.
2015-05-05 15:16:49 -07:00
michael-grunder
47b05f13b9 Even more unit test integration, mset fix
* Continuing to hammer through Redis unit tests such that the
  tests will work for both Redis and RedisCluster objects
* Fixed mset so we return the RedisCluster object when it's
  executed in multi mode.
2015-05-05 15:16:49 -07:00
michael-grunder
9b68c33f7a More unit test cleanup and key consolidation for multiple key commands 2015-05-05 15:16:49 -07:00
michael-grunder
88530eed4a Add cluster specific testInfo() method 2015-05-05 15:16:49 -07:00
michael-grunder
501561b255 More unit test formatting, and key renaming so tests work in cluster 2015-05-05 15:16:49 -07:00