46 Commits

Author SHA1 Message Date
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
michael-grunder 6205504405 Unit test formatting, change to actual Redis commands. 2015-05-05 15:16:49 -07:00
michael-grunder 968ba49fa7 More unit test integration with cluster 2015-05-05 15:16:49 -07:00
michael-grunder 0b269cbb72 More RedisCluster fixes
* Properly handle single array as well as variadic arguments for
  things like RedisCluster::del
* Wrapping keys in {} such that Redis and RedisCluster tests can
  use the same methods (avoiding CROSSSLOT).
* Fixed a double-free scenerio in redis_array_impl.c
2015-05-05 15:16:49 -07:00
michael-grunder 42b81c4f1c Allow del/mget to either take one array or be treated as variadic 2015-05-05 15:16:49 -07:00
michael-grunder b251c18730 Kill tabs with fire :-) 2015-05-05 15:15:57 -07:00
michael-grunder 55084a8ed9 Update tests to reflect that ZSCAN will return float scores 2015-05-05 15:11:17 -07:00
michael-grunder 2937b2b228 Adds 'quicklist' as a valid encoding type (new list type) 2015-05-05 15:11:17 -07:00
michael-grunder 92f620bcad Incorporate formalized multi-bulk proessing from develop
This commit just backports the newer and improved multi-bulk
processing for various commands (e.g. zrange, hmget,etc) from
develop into feature/redis_cluster

Also modified getbit to treat the value as a long
2015-05-05 15:11:16 -07:00
michael-grunder 4529e6ec12 Reintroduce the ability to pass an optional long argument to incr/decr
It's easy to not break backward compatibility here, so I've
reintroduced logic such that INCR and DECR proper can be called
with an optional increment value, in which case the call actually
made is INCRBY or DECRBY, respectively.
2015-05-05 15:07:43 -07:00
michael-grunder 7453c885ef Remove empty diff/union tests
Empty sUnionStore/sDiffStore/etc type commands are protected from
empty arguments and will throw warnings so those have been removed.
2015-05-05 15:07:43 -07:00
michael-grunder b809bd8a47 More multiple argument 'incr'/'decr' commands removed from tests 2015-05-05 15:07:43 -07:00
michael-grunder 113ceae78c Update tests to stop calling 'incr' and 'decr' with an argument. 2015-05-05 15:07:43 -07:00
michael-grunder 79cb6a8905 Initial commit reworking unit tests
This commit reworks the unit tests such that all three classes
(Redis, RedisArray, and RedisCluster) can be tested using the
TestRedis.php script.

Now, when running TestRedis.php an option can be passed for which
part of phpredis we would like to test (defaults to Redis).
2015-05-05 15:07:43 -07:00