diff options
-rw-r--r-- | redis/client.py | 7 | ||||
-rw-r--r-- | tests/server_commands.py | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/redis/client.py b/redis/client.py index c4ea8db..ab0e9f2 100644 --- a/redis/client.py +++ b/redis/client.py @@ -212,7 +212,7 @@ class Redis(threading.local): lambda r: r == 'OK' ), string_keys_to_dict('SDIFF SINTER SMEMBERS SUNION', - lambda r: r and set(r) or r + lambda r: set(r) ), string_keys_to_dict('ZRANGE ZRANGEBYSCORE ZREVRANGE', zset_score_pairs), { @@ -342,8 +342,9 @@ class Redis(threading.local): return [self._parse_response(command_name, catch_errors) for i in range(length)] else: - # for pipelines, we need to read everything, including response errors. - # otherwise we'd completely mess up the receive buffer + # for pipelines, we need to read everything, + # including response errors. otherwise we'd + # completely mess up the receive buffer data = [] for i in range(length): try: diff --git a/tests/server_commands.py b/tests/server_commands.py index 99b99d7..493081e 100644 --- a/tests/server_commands.py +++ b/tests/server_commands.py @@ -460,6 +460,8 @@ class ServerCommandsTestCase(unittest.TestCase): self.client['a'] = 'a' self.assertRaises(redis.ResponseError, self.client.smembers, 'a') del self.client['a'] + # set doesn't exist + self.assertEquals(self.client.smembers('a'), set()) # real logic self.make_set('a', 'abc') self.assertEquals(self.client.smembers('a'), set(['a', 'b', 'c'])) |